如何检测特定的ajax请求是否正在进行中,我可以使用done并且无法检测它何时完成并且失败,但有没有办法找到它是否正在进行中?
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
优素福
答案 0 :(得分:1)
如果您正在为所有应用程序的ajax寻找内容,那么您可以随时使用ajaxStart
和ajaxStop
:
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; })