我有这样的代码检查页面上的某个Ajax是否正在处理中?
$('#postinput').on('keyup',function(){
var txt=$(this).val();
$.ajax({
type: "POST",
url: "action.php",
data: 'txt='+txt,
cache: false,
context:this,
success: function(html)
{
alert(html);
}
});
});
$('#postinput2').on('keyup',function(){
var txt2=$(this).val();
$.ajax({
type: "POST",
url: "action.php",
data: 'txt2='+txt2,
cache: false,
context:this,
success: function(html)
{
alert(html);
}
});
});
假设用户点击#postinput
,它需要30秒process.If在此期间用户点击#postinput2
。我想给他一个警报"Still Processing Your Previous request"
。有没有办法可以检查一些Ajax是否仍在处理?
假设我在页面上运行了很多ajax。有没有一种方法可以知道是否有一个正在处理?
因此,快速(也可能脏)IDE我的一个是:只是使用全局布尔“isProcessing”并将其设置为true/false,同时处理/在Ajax的成功方法。编辑:好的,现在有和答案一样的东西;) – Dominik
@Dominik tnx ..如果我在同一页面上有一个ajax假设为5,那么这个真假方法将不起作用。是否有任何方法来检查,即使1 ajax正在进行..? – Ace
只需检查'$ .active'属性。它在官方文档中没有提到,它可能会在以后更改,但目前它[由单元测试覆盖](https://github.com/jquery/jquery/blob/705216dc4664a85cdb44b460f8c2e0edcf27dd97/test/unit/ajax.js#L1957) ,并没有改变[自2010](http://stackoverflow.com/questions/3148225/jquery-active-function),甚至有一些错误跟踪附加。 ) – raina77ow