我正在尝试将getJson调用的ajaxStart和ajaxStop事件用于我的网络服务器。 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调用,一切正常。
答案 0 :(得分:0)
试试这个,再用你的URL传递一个额外的参数:
?+"randomParam="+(Math.random() * 1000)
答案 1 :(得分:0)
我猜Yashwant指的是使用随机参数中断自动浏览器缓存。
更好的方法是使用$ .ajaxSetup()
$.ajaxSetup({ cache: false });
这将阻止所有ajax调用的浏览器缓存。
答案 2 :(得分:0)
添加此声明:
$.ajaxPrefilter(function (options){options.global = true;});
Bug Ticket:http://bugs.jquery.com/ticket/8338
这是因为你正在做一个JSONP请求。