有一些人,他还活着,可是他已经死了。----鲁迅没说过
-
问题
在学习的过程中,遇到了一个问题,layui的form表单在ajax提交的时候执行了两次。导致的最直观的后果就是数据重复,每次保存的内容,都会在数据库中存两条,偶尔还会多一条
关键代码如下
layui.form.on('submit(addSubmit)', function (data) {
$.ajax({
url: data.form.action
, async: false//同步
, type: 'POST'
, contentType: 'application/json;charset=utf-8'
, data: JSON.stringify(data.field)
, success: function (res) {
if (res.code == 0) {
layer.closeAll();//关闭弹出层
query();
} else {
layer.alert(res, msg);
}
}
});
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
发现数据重复后,调试了一下js的代码,发现return false之后再一次执行了ajax
查了一些资料和回答,发现是引用layui.js的问题
但是我只引用了一次,网上其他回答几乎都是发现了自己人为重复引用layui.js
问题原因暂时未知,代码图如下:(PS:如果有小伙伴知道原因的,也可以在评论区告知,哈哈。)
-
解决方案
将下面的代码注释掉
执行后,终于正常了