现在我使用:
$("#status")
.on("ajaxSend", function() { $(this).show(); } )
.on("ajaxComplete", function() { $(this).hide(); } );
获取ajax工作时的状态。这适用于json,但不适用于jsonp。有没有办法让这个与jsonp一起使用?谢谢。
答案 0 :(得分:1)
这似乎是be a bug in jQuery,或者至少是对错误的考虑。
很遗憾,此时您无法采取任何措施,除非更新您的jsonp请求以在beforeSend
和complete
上使用相同的内容:
function ajaxSend() { $("#status").show(); }
function ajaxComplete() { $("#status").hide(); }
$.ajaxSend(ajaxSend);
$.ajax({
dataType: 'jsonp',
beforeSend: ajaxSend,
complete: ajaxComplete
});
答案 1 :(得分:1)
成为jQuery&的相对新手ajax我不确定这是否能回答你的问题,但我发现ajaxSetup()
内的事件处理程序会自动调用jsonp请求,而$(document).ajaxSend(function(event, jqXHR, settings){});
之类的独立处理程序则不会。正如Explosion Pills所说,您也可以在每次通话的基础上手动覆盖这些。
$.ajaxSetup({
beforeSend: function(jqXHR, settings) {
},
complete: function(jqXHR, textStatus) {
}
});