背景新的:當用戶點擊一個button
其類class1
和class2
之間切換,並將該數據經由AJAX
提交。要確認此數據已保存,服務器將以js
(更新按鈕HTML
)響應。取消AJAX請求如果提交
問題:如果用戶點擊該按鈕比服務器快能(即快速點擊的按鈕)作出迴應,該按鈕就會來回切換,一旦服務器響應實際到帳:
- 用戶點擊按鈕,通過JS改變
class2
(AJAX提交) - 用戶點擊按鈕,通過JS改變
class1
(AJAX提交) - 服務器響應第一個AJAX請求,並刷新HTML到
class2
- 服務器響應第二AJAX請求,並刷新HTML到
class1
怎麼能Ajax請求被取消,如果一個新的製造?
$('.button').click(function() {
$('this').toggleClass('class1 class2')
// submit ajax request
$.ajax({
url: '/update_link'
})
});
豈不是一個更好的主意,把一個功能上,它使非活動狀態幾秒鐘後,點擊該按鈕? – Sander
只需禁用切換,直到異步函數返回響應或超時並返回錯誤。 – Redu
http://stackoverflow.com/questions/446594/abort-ajax-requests-using-jquery – epascarello