在实战的过程中,遇到了一个问题,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; //阻止表单跳转。如果需要表单跳转,去掉这段即可。 });
看起来没有任何问题
查看了一些资料和回答,发现是引用layui.js的问题
解决方案,将下面的代码注释掉
<script th:src="@{/webjars/layui/layui.all.js}"></script>
执行后,终于正常了