0

您如何检测特定的 ajax 请求是否正在进行中,我可以使用 done 和 fail 来检测它何时完成和失败,但是有没有办法找到它是否正在进行中?

var prog = false;
var ajxReq = $.get(url, function (response) {
    // insert response into container
})
.done (function () { prog = false; })
.fail (function () { });

var prog1 = false;
var ajxReq1 = $.get(url, function (response) {
    // insert response into container
})
.done (function () { prog1 = false; })
.fail (function () { });

如果 ajxReq 正在进行,我想将 prog 变量值更改为 true,如果 ajxReq1 正在进行,我想将 prog1 变量值更改为 true

优素福

4

1 回答 1

1

如果您正在为所有应用程序的 ajax 寻找一些东西,那么您可以随时使用ajaxStartajaxStop

var isAjaxRunning = false;

$(document).ajaxStart(function() {
     isAjaxRunning = true;
});

$(document).ajaxStop(function() {
      isAjaxRunning = false;
});

http://api.jquery.com/ajaxstart/
http://api.jquery.com/ajaxstop/

否则只需执行以下操作:

var prog = false;
var ajxReq = $.get(url, function (response) {
    prog = true; 
    // insert response into container
})
.done (function () { prog = false; })
于 2014-08-21T11:39:04.583 回答