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