(1) 一般用layui导致提交两次,会想到的是在绑定on sumit的时候没有return false,导致没有把常规提交方式拦截下来,再次访问了action
如果你想了解更多关于layui的知识。可以点击:layui教程
form.on('submit(formDemo)', function (data) { var fd = new FormData($('form')[0]); $.ajax({ type: "POST", url: '/admin/adduser.do', data: fd, async: false, cache: false, contentType: false, processData: false, success: function (res) { if (res.status == 200) { layer.msg(res.msg, {time: 2000}); var url = "/admin/views/users.html"; // 跳转 setTimeout(function () { window.location.href = url },2000); } else { layer.msg(res.msg, {time: 2000}); } } }); return false; // 这段很关键 });
(2) 然而我的问题不是这个,我访问了两次的后端接口,特别奇怪,对前端进行调试之后发现多引用了一遍layui.all.js,也就是说页面要被渲染两次,当然就被提交两次了
<script src="../assets/layui.all.js"></script> <script src="../assets/layui.all.js" charset="utf-8"></script> <script src="../jquery.js"></script>
以上是layui 表单提交为什么有两次的详细内容。更多信息请关注PHP中文网其他相关文章!