在jquery中捕获所有ajax请求

Lor*_*eck 16 ajax jquery

我想在每次发送ajax请求时显示"正在加载"进度条.是否有可能通知使用jQuery发送ajax请求ANYTIME?

Dar*_*rov 25

您可以使用该$.ajaxSetup()方法设置将应用于整个页面的全局AJAX属性:

$.ajaxSetup({
    beforeSend: function() {
        // show progress spinner
    },
    complete: function() {
        // hide progress spinner
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 即使那些不使用jQeury或者那些不可能的东西,它会被捕获吗? (2认同)
  • @ rain01,不,这只会捕获jQuery AJAX请求. (2认同)

Sea*_*nWM 6

由于某种原因或其他原因$.ajaxSetup()对我不起作用。在阅读了文档之后,我发现了以下内容:

注意:全局回调函数应使用各自的全局Ajax事件处理程序方法设置-.ajaxStart()、. ajaxStop()、. ajaxComplete()、. ajaxError()、. ajaxSuccess()、. ajaxSend()-而不是在内部$ .ajaxSetup()的options对象。

尝试$.ajaxStart()$.ajaxComplete()改为:

$(document).ajaxStart(function () {
    console.log('Request Initiated');
});
$(document).ajaxComplete(function () {
    console.log('Request Complete');
});
Run Code Online (Sandbox Code Playgroud)