以下是我的应用程序中的确切情况。
我相信这张图片清楚地解释了问题。如果您对理解有任何问题,请告诉我。
问题是HttpPost操作被调用两次,导致数据库中添加了两个条目。
我该如何防止这2个操作?
![一只忙碌的猫](https://3.bp.blogspot.com/-moTT9T5sMVQ/UG0pKjfd1YI/AAAAAAAAAmo/hoekI_ilehI/s1600/Scenario.png)
问题是HttpPost操作被调用两次,导致数据库中添加了两个条目。
我该如何防止这2个操作?
submit()
处理程序,因此第二次提交表单时,它会触发两次操作,第三次点击意味着三个帖子,以此类推。click()
或表单的 submit()
。我更喜欢表单提交。请尝试以下代码:$("form").submit(function(e) {
e.preventDefault();
$.ajax({
url: 'EditEntryInline',
type: 'POST',
data: $(this).serialize(),
success: function(result) {
if (result.success) {
window.location.reload();
}
else {
// inform the user that the save didn't work
}
}
});
});
id
修改选择器,以便此代码不会连接到出现在页面上的每个表单的submit()
事件。preventDefault()
。 - webdeveloperpreventDefault
阻止了任何进一步的提交。你应该也从点击事件中删除 submit()
钩子。 - Rory McCrossan您正在为实际表单提交添加另一个ajax提交。考虑在结尾处加上return false;
。
form
和.buttonInlineSave
的 HTML 代码? - Anton Rudeshko