这是无效的代码:
$(document).ajaxStop(function() {
$(this).unbind("ajaxStop"); //prevent running again when other calls finish
// Display everything
display();
});
这是我的Ajax功能:
function getAjax(url, callback) {
jQuery.ajaxPrefilter(function( options ) {
options.global = true;
});
$.ajax({
url: url,
type: "GET",
dataType: "jsonp",
success: callback
});
}
为什么ajaxStop()
永远不会开火?
答案 0 :(得分:5)
您会注意到我正在制作JSONP请求。我花了很长时间才找到这个,但可以找到这个问题的答案here。
从机票:
无法保证完成JSONP请求(因为错误不是 抓住)。在这种情况下,jQuery 1.5强制全局选项为false 内部ajax请求计数器保证返回 在某一点或另一点为零。
如果您希望所有请求都能触发事件,无论是什么(并且存在相同的1.4.4不一致的风险),您可以使用以下预过滤器:
jQuery.ajaxPrefilter(function( options ) {
options.global = true;
});