gpt4 book ai didi

jQuery ajax done() 被多次调用

转载 作者:行者123 更新时间:2023-12-01 08:01:36 26 4
gpt4 key购买 nike

我有一个用户可能会多次提交的表单。下面是我的 submit 中包含的代码事件。

当用户第一次提交表单时,一切都很好,done回调被执行一次。接下来,他们每次提交表单时,done无论使用data提交表单多少次,回调都会被执行。参数是最近提交的数据。

var $form = $(e.currentTarget);
$.ajax({
url: $form.attr('action'),
data: $form.serialize(),
type: 'POST'
}.done(function(data) {
if (data.success === true) {
alert('success!');
} else {
alert(data.errors);
}
});

这是怎么回事?我做错了什么或者我该如何解决它?我以前从未遇到过这个问题,我不确定发生了什么。

最佳答案

既然我在评论中发现了问题,我会将其转化为答案。

最可能的情况是您每次都重新绑定(bind)表单提交事件处理程序,以便为每个已绑定(bind)的事件处理程序调用一次您的代码。这不仅会每次调用 .done(),还会多次调用 ajax() 函数。

解决这个问题的地方就是绑定(bind)提交事件处理程序的地方。它应该只绑定(bind)一次,而不是每次使用表单时都绑定(bind)。

关于jQuery ajax done() 被多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19459276/

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