每次发送ajax请求时,我都希望显示“正在加载”进度条。是否有可能通知使用jQuery发送ajax请求ANYTIME?
答案 0 :(得分:24)
您可以使用$.ajaxSetup()
方法设置将应用于整个页面的全局AJAX属性:
$.ajaxSetup({
beforeSend: function() {
// show progress spinner
},
complete: function() {
// hide progress spinner
}
});
答案 1 :(得分:4)
由于某种原因$.ajaxSetup()
没有为我工作。在阅读了docs后,我发现了以下内容:
注意:全局回调函数应设置为各自的 全局Ajax事件处理程序方法-ajaxStart(),. ajaxStop(), .ajaxComplete(),. ajaxError(),. ajaxSuccess(),. ajaxSend() - 而不是 在$ .ajaxSetup()的选项对象中。
请尝试$.ajaxStart()
和$.ajaxComplete()
:
$(document).ajaxStart(function () {
console.log('Request Initiated');
});
$(document).ajaxComplete(function () {
console.log('Request Complete');
});
答案 2 :(得分:2)
尝试使用jQuery的ajaxStart事件