我可能连续多次远程提交表单。对于这种特殊情况,不可以使用反跳功能。我正在为使用.abort()
提交的远程表单寻找与.submit()
等效的jQuery,因此在制作新表单时可以取消所有以前的提交。
提前致谢,
加勒特
最佳答案
我所做的是附加到表单的beforeSend事件,将xhr对象存储为表单数据的一部分,如果新请求入队,则中止它:
$('form').bind("ajax:beforeSend", function(evt, xhr) {
console.log('Enqueued new xhr request');
var prevXhr = $(this).data('current-xhr');
if (prevXhr) {
prevXhr.abort();
console.log('Aborting previous xhr request');
}
$(this).data('current-xhr', xhr);
});
而且,您仍然可以直接使用
:remote => true
选项。关于ruby-on-rails-3 - 杀死jQuery Ajax表单提交,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5085515/