1

我正在尝试将 ajaxStart 和 ajaxStop 事件与 getJson 调用一起使用到我的网络服务器。ajaxStart 事件在第一个请求时触发,但不会在后续请求中触发。encID 确保每个请求的 url 在某种程度上是唯一的。它不适用于 Firefox 3.5 或 IE 7。在 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 调用,一切正常。

4

3 回答 3

0

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

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

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

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

$.ajaxSetup({ cache: false });

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

于 2011-06-02T02:47:38.137 回答
0

添加此语句:

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

漏洞票:http://bugs.jquery.com/ticket/8338

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

于 2012-02-19T11:58:26.660 回答