我在模式中有一个表单,它可以在单击一个按钮时保存备忘录,也可以在单击另一个按钮时删除它。项目会被保存/删除,但请求计数会随着每次点击而增加。我收到 4 个相同的请求等。我该如何阻止这个。我必须解绑某些东西吗?
$('#modal').on('show.bs.modal', function (e) {
var origin = $(e.relatedTarget);
var memoId = origin.attr('data-id');
$('#modal').click(function(event){
if($(event.target).hasClass('memo-save')) {
event.preventDefault();
var memoText = $(event.target).parent().parent().find('textarea').val();
var memo = {
memo: memoText,
id: memoId
}
$.ajax({
type: "POST",
url: '/memos/add-memo?memo=' +memo+'&id=' + memoId,
data: memo,
success: function (result) {
$(event.target).toggleClass('active').html('Memo Saved');
}
});
} else if($(event.target).hasClass('memo-delete')) {
event.preventDefault();
var memoText = "";
var memo = {
id: memoId
}
$.ajax({
type: "POST",
url: '/memos/remove-memo?id=' + itemId,
data: memo,
success: function (result) {
$(event.target).toggleClass('active').html('Memo Deleted');
}
});
}
});
});
最佳答案
您可以将 $('#modal').click
移到 $('#modal').on('show.bs.modal'
之外这样它就不会在每次显示模式时重新添加监听器
关于javascript - 为什么 ajax 请求会多次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54619233/