gpt4 book ai didi

javascript - 为什么 ajax 请求会多次触发

转载 作者:行者123 更新时间:2023-12-03 00:13:29 27 4
gpt4 key购买 nike

我在模式中有一个表单,它可以在单击一个按钮时保存备忘录,也可以在单击另一个按钮时删除它。项目会被保存/删除,但请求计数会随着每次点击而增加。我收到 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com