2011-09-01 3 views
0

좋아, 여기 너희들에게 좋은 퍼즐이있다. PHP 웹 서비스에서 JSON을 가져 와서 결과를 div에 표시하는이 함수를 사용하고 있습니다. 결과가 표시되지 않거나 웹 서비스가 데이터를 출력하지 않거나 아약스 호출이 잘못되었다고 생각할 수 있습니다. 더 자세한 조사 결과에 따르면 웹 서비스 IS가 데이터를 출력하고 ajax 호출이 정확하고 적절한 변수를 서비스에 전송하는 것으로 나타났습니다. 흥미 얻는 곳IE 7/8 AJAX 캐시 이상함

가 여기에 내가 F12을 눌러 콘솔을 열면 페이지를 새로 고침하고 Ajax 호출 .. 그것을 기다릴을 시작하는 링크를 클릭

...의 ... 그것을 작동합니다!

누구나 왜 이런 일이 발생했는지, IE7/8 중지 AJAX를 중지하는 방법을 알고 있습니까?

와우, 정말 IE가 싫어!

내 코드 :

function getActivity(aid, callback) { 
var date = new Date(); 
var timestamp = date.getTime(); 

var params = { 
    apiKey: apiDefaults.key, 
    service: 'wb_getActivity', 
    agencyID: $('#booking-agencyID').val(), 
    activityID: aid, 
    nocache: timestamp 
}; 

$.ajax({ 
    cache: false, 
    url: apiDefaults.url, 
    data: params, 
    dataType: 'json', 
    type: 'post', 
    success: function (json) { console.log(json); callback(json); } 
});} 
+0

의 $ 갔지 또는 $ .post 확장을 사용하는 경우

$.ajaxSetup({ cache: false }); 

도 도울 수 있는가? – m90

+0

예, 행운이 없습니다. 똑같은 것 (코드 참조). –

답변

1

는 요청과 응답을 캐시하지 않도록 브라우저를 강제로 현재 날짜와 같은 URL에 동적 변수를 넣습니다.

+0

작동하지 않습니다, 나는 웹 서비스에서 헤더의 버트로드를 시도하고 콘솔에서 함수를 리콜합니다. –

0

이에 대한 대답은 디버거가 열려있는 IE에서 console.log() 함수를 사용하고 있다는 것입니다.

0

작동하지 않는 경우 Cache를 false로 설정하는 또 다른 방법은 jQuerys 글로벌 설정을 변경하는 것입니다. 아직 전화의 매개 변수에 'FALSE'cache`to`설정을 시도해 봤어 당신은 $ 아약스

관련 문제