1

WebサーバーへのgetJson呼び出しでajaxStartイベントとajaxStopイベントを使用しようとしています。ajaxStartイベントは最初のリクエストでトリガーされますが、後続のリクエストではトリガーされません。encIDは、要求された各URLがある程度一意であることを保証します。Firefox3.5またはIE7では機能しません。firebugでは、getJSONリクエストが起動して完了していることがわかります。何か案は?

これが私のajaxイベントバインディングです。

$('#ajaxLoader').ajaxStart(function(){    
   $(this).show();
}).ajaxStop(function(){
   $(this).hide();
});

これが私のgetJSON呼び出しです。

$.getJSON(location.protocol + '//' + location.host + '/enc-comment/get?format=json&c=?' + '&encId=' + encId,
function(data){
   // change text of a div
});

getJSON呼び出しを.ajaxGETまたはPOSTに切り替えると、すべてが正常に機能します。

4

3 に答える 3

0

Yashwant は、ランダムなパラメーターを使用して自動ブラウザー キャッシュを中断することについて言及していると思います。

これを行うよりきれいな方法は、 $.ajaxSetup() を使用することです

$.ajaxSetup({ cache: false });

これにより、すべての ajax 呼び出しのブラウザー キャッシュがブロックされます。

于 2011-06-02T02:47:38.137 に答える
0

これを試して、URL にもう 1 つの追加パラメーターを渡します。

?+"randomParam="+(Math.random() * 1000)
于 2011-02-02T08:34:33.397 に答える
0

次のステートメントを追加します。

$.ajaxPrefilter(function (options){options.global = true;});

バグチケット:http://bugs.jquery.com/ticket/8338

これは、JSONP リクエストを実行しているためです。

于 2012-02-19T11:58:26.660 に答える