天天看點

關于layui表單送出兩次的問題

(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>
           

删掉一個就可以了

繼續閱讀