我有這樣的代碼檢查頁面上的某個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