我目前正在學習一種有點模糊的外語,所以我製作了一個簡單的網站(http://ianburris.com/armenian/),以便我可以輕鬆地查找課堂中使用的書籍中的單詞。我注意到的一件事是,有時如果我輸入類似「house」的內容,匹配「h」的單詞的請求將在請求「ho」之後完成,因此「h」的結果將覆蓋「ho 」。如果你輸入一個單詞,然後非常快地打回退格,這一點尤其明顯。清除所有字符後,我的消息顯示「輸入英文單詞」將彈出一秒,然後最後一個AJAX請求最終完成覆蓋消息。有沒有一種方法可以實質上取消AJAX調用,或者是否應該包含一個時間戳,我可以用它來拋出過時的結果?使用jQuery AJAX調用防止「競爭條件」
3
A
回答
5
保持一個變量來標識正在進行的ajax調用的訂單號碼,例如 。第一個電話爲1,第二個電話爲2,第三個字母爲ajax。 並且每當Ajax請求完成時,檢查輸入框的值的當前字符串長度。 如果它們匹配,則數據有效,將其寫入您的頁面,否則拒絕它。
例如:具有值3 AJAX請求完成,因爲hou.length == 3在輸入框=「後」, 電流值,這是一個正確的匹配,並且數據可被處理。
相關問題
- 1. 使用mysql_affected_row來防止競爭條件
- 2. 使用Java防止競爭條件
- 3. 防止競爭條件
- 4. jquery - 防止這種競爭條件
- 5. PHP防止MySQL競爭條件
- 6. 如何防止這種競爭條件?
- 7. EF預防競爭條件
- 8. 如何使用鎖來防止競爭條件
- 9. 使用信號來防止競爭條件(C)
- 10. 使用數據庫事務防止競爭條件(Laravel)
- 11. 水豚ajax競爭條件
- 12. 的Javascript AJAX競爭條件
- 13. JQuery嵌套$ .when,以防止競爭條件
- 14. 用fork()和pipe()調用競爭條件
- 15. 競爭條件
- 16. 如何防止Web應用程序中的競爭條件
- 17. 競爭條件
- 18. 競爭條件
- 19. 競爭條件
- 20. 競爭條件
- 21. 競爭條件
- 22. 競爭條件用C
- 23. 防止在多個chrome.storage API調用中競爭條件的最佳方法?
- 24. find_or_create競爭條件
- 25. NSNotification競爭條件
- 26. Process.HasExited競爭條件
- 27. 不可變對象如何有助於防止競爭條件
- 28. MySQL競爭條件 - 防止多次插入
- 29. ASP.NET競爭條件
- 30. 的競爭條件
可能還需要存儲一系列正在運行的值(如果需要進行高級監控)和/或最後一個值本身 - 如果在XHR回調關閉中捕獲,這很容易實現。有時候長度會導致誤報:「侯」和「少」。 – 2011-02-13 21:16:04
@pst是的,謝謝你指出。 – DhruvPathak