我有一個很大的表單,其中更改任何值應該觸發對服務器的ajax調用,執行一些計算並返回結果。但問題是,用戶不會等待每個ajax調用完成,並且在幾次這樣的調用堆積之後,我得到的最後結果可能不是最近一次調用服務器的結果,因爲每個調用的響應時間ajax呼叫可能並將根據數據和其他因素而有所不同。但是我需要確保向用戶展示與最近更改相對應的數據。所以,我需要確保使用jquery get或post的最新響應
1)有沒有辦法避免這種情況,而使用$ .get()或$ .post()?
2)在上述兩種方法中有沒有辦法使用同步/異步?或者我必須使用$ .ajax()?
編輯:
我用一個簡單的Ajax方法
$("#someField").blur(function(e){
$.get("someURL.php?v="+$(this).val(),function(d){
$("#result").html(d);
});
})
你能提供你已經使用的代碼片段嗎?使用.get或.post回調函數可以讓您在收到返回結果時調用其他函數。 – John 2013-03-07 11:28:47
我修改了我的帖子,看到上面的 – Bluemagica 2013-03-07 11:32:09
我認爲你需要使用遞歸回調 - 讓它自己調用,但只要它完成了,不管它在後端做什麼 – 2013-03-07 11:32:48