背景新的:当用户点击一个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