Jquery 使用getJSON时,ajaxStart在后续请求中失败

Jquery 使用getJSON时,ajaxStart在后续请求中失败,jquery,ajax,getjson,Jquery,Ajax,Getjson,我正在尝试将ajaxStart和ajaxStop事件用于对Web服务器的getJson调用。ajaxStart事件在第一个请求时触发,但不会在后续请求中触发。encID确保每个请求的url在某种程度上是唯一的。它在Firefox3.5或IE7上不起作用。在firebug中,我可以看到getJSON请求正在启动和完成。有什么想法吗 以下是我的ajax事件绑定 $('#ajaxLoader').ajaxStart(function(){ $(this).show(); }).ajaxS

我正在尝试将ajaxStart和ajaxStop事件用于对Web服务器的getJson调用。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
});

如果我使用.ajax GET或POST切换getJSON调用,一切正常。

试试这个,在URL中再传递一个额外的参数:

?+"randomParam="+(Math.random() * 1000)

我猜Yashwant指的是使用随机参数中断自动浏览器缓存

一种更漂亮的方法是只使用$.ajaxSetup()

这将阻止所有ajax调用的浏览器缓存。

添加以下语句:

$.ajaxPrefilter(function (options){options.global = true;});
错误通知单:

这是因为您正在执行一个JSONP请求

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