0

我有一个表单按钮的事件侦听器,它对我的​​ 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();
},
4

0 回答 0