>웹 프론트엔드 >JS 튜토리얼 >IE_jquery에서 jquery.getJSON의 캐싱 문제를 처리하는 방법

IE_jquery에서 jquery.getJSON의 캐싱 문제를 처리하는 방법

WBOY
WBOY원래의
2016-05-16 17:39:01964검색


프로젝트에서 문제가 발생했습니다. Firefox에서는 $.getJSON(); 데이터를 요청했는데 모든 것이 정상이었지만 IE에서는 $.getJSON(); 전혀 실패했습니다. 요청이 더 이상 전송되지 않습니다. 요청을 캡처하기 위해 Fiddler를 사용한 후에 알았습니다. 두 번째로 요청이 전송되지 않았고 게시로 변경한 후에는 정상이었습니다.

$.getJSON()에 캐싱 문제가 있습니다. 호출하는 URL이 이전에 호출된 경우 콜백 함수는 배경을 입력하는 대신 캐시에서 원하는 값을 직접 얻습니다.

해결 방법은 다음과 같습니다.

1. 호출할 때마다 URL을 다르게 만듭니다.

방법: 매개변수에 난수 추가

코드 복사 코드는 다음과 같습니다.

$.getJSON("/Member/GetExercise .html" , { id: $("#Wareid").val(), isBool: 루프, 무작위:
Math.random() }, 함수 (데이터) });

코드 복사 코드는 다음과 같습니다.

$.getJSON("/Member/GetExercise.html ?random=Math.random ", { id: $("#Wareid").val(),
isBool: loop,}, function (data) });

new Date()를 사용하는 것도 임의의 URL로 간주될 수 있습니다

코드 복사 코드는 다음과 같습니다.

?random=new Date().getTime()

2. 캐시를 false로 설정

코드 복사 코드는 다음과 같습니다.

$.ajax({
type :"GET ",
url:'/Member/GetExercise.html',
cache:false,
dataType:"json",
success:function(데이터){
alert( 데이터);
}
});
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.