通过AJAX提交表单是打两个电话而不是一个电话

时间:2013-04-26 18:45:28

标签: javascript ruby-on-rails ajax jquery backbone.js

我有一个表单按钮的事件监听器,它对我的​​Rails控制器中的方法进行AJAX调用。我遇到的问题是this._form.submit()以某种方式将AJAX调用两次,因此在Chrome的“网络”标签中,我看到有两个add_to_trip正在调用。

我已经尝试删除this._form.submit()以查看其他地方是否还会触发此代码,但删除后,我看不到任何AJAX调用。我还尝试添加console.log以查看调用__onTripClick的次数。 console.log语句只会触发一次。

有人知道我为什么要进行两次AJAX调用,即使我只点击一次所选目标吗?

感谢。

$(document).on('click', this._formId + " a.trip", this, function (e) {
  e.data.__onTripClick(e);
});

__onTripClick: function (e) {
  if (!$(e.target).attr('trip:id')) {
    return;
  }
  e.preventDefault();
  e.stopImmediatePropagation();
  e.stopPropagation();
  this._toggling = $(e.target);
  this._form.children('input[name="id"]').first().val($(e.target).attr('trip:id'));
  this._form.submit();
},

0 个答案:

没有答案