我可能连续多次远程提交表单。对于这种特殊情况,不可以使用反跳功能。我正在为使用.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/

10-13 04:43