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