(1) 一般用layui導緻送出兩次,會想到的是在綁定on sumit的時候沒有return false,導緻沒有把正常送出方式攔截下來,再次通路了action
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>
删掉一個就可以了