以下是我的申请中的确切情况。
我相信这张照片清楚地解释了这个问题。如果您对此有任何疑问,请告诉我。
问题是HttpPost操作被调用两次导致在数据库中添加两个条目。
如何阻止这2项行动?
答案 0 :(得分:4)
问题是因为您每次单击按钮时都会在表单中添加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()
事件相关联。
答案 1 :(得分:1)
您在实际表单提交上连接另一个一个ajax提交。考虑将return false;
放在最后。