2010-11-25 217 views
1

我有一個ajax請求(多個)來到我的servlet。 每個請求都在文本框的onBlur上創建。 我總共有3個這樣的文本框。 我有一個要求,當firt結果的響應來了,那麼只有下一個請求被觸發。 請讓我知道,如果任何人有這樣的工作。 我在客戶端使用Dojo/Digit,在服務器端使用簡單的java Servlet。 謝謝。同步Ajax請求

回答

4

你可以用簡單的編碼來做到這一點。如果您需要在第一個請求的響應之後才發送第二個請求,則必須在第一個請求的成功條件中爲第二個請求進行編碼。看看下面的代碼:

dojo.xhrPost({ 
form:"someForm", 
load: function(data, args){ 
    // Success 
// call the second request 
}, 
error: function(err, args){ 
    // Error 
} 
}); 

我希望這有助於

+0

或者,您可以調用xhrPost的返回值「then」,這是一個推遲的函數,用於鏈回調。請參閱http://dojotoolkit.org/reference-guide/dojo/Deferred.html – peller 2010-11-25 17:14:36

0

你可以把屬性的節點上發送Ajax請求之前。在回調函數中,您可以更改節點上的屬性。在發送任何ajax請求之前,您可以檢查該屬性,如果已經處理了一個ajax請求,則可以避免發送新的請求。

最好給用戶指示已經處理了一個請求。

還有一個屬性叫'同步'http://api.dojotoolkit.org/jsdoc/dojo.xhrGet。 但是,這是真的不可取。