今天做項目,出現一個問題,需求是用ajax做文件上傳功能,代碼寫好之后,測試發現問題。
彈出層出現以后我沒有主動點擊確定和關閉等操作,程序自動關閉了彈出層
一步一步排查,找到了錯誤,首先,先確認你頁面上有沒有發生刷新或者其他彈出
我排查以后發現我form里有個class,這個class就是ajax提交並返回彈出框,我把這個class
去掉以后測試還是不行,繼續排除,后來發現是button 的type問題,話不多說,直接上代碼
<--前端代碼--> <form id="uploadForm" class="form-horizontal" enctype="multipart/form-data"> <input type="file" name="file" class="file" multiple="multiple" required=""> <button type="button" id="upload" class="btn btn-xs btn-purple"> <span class="ace-icon fa fa-cloud-upload icon-on-right bigger-110"></span>上傳文件 </button> </form>
<--JS代碼--> <script type="text/javascript"> $(function () { $('#upload').click(function () {
//這里我是需要做一個加載轉圈的效果,如不需要可去除 var index = layer.load(1, { shade: [0.1,'#fff'] //0.1透明度的白色背景 }); var formData = new FormData($('#uploadForm')[0]); $.ajax({ url:"www.baidu.com", type:'post', data:formData, dataType:'json', cache:false, processData: false, contentType: false, success:function (e) { layer.close(index); if (e.status == 200) { layer.alert(e.msg, { icon: 1, skin: 'layer-ext-moon' }) }else { layer.alert(e.msg, { icon: 2, skin: 'layer-ext-moon' }) } } }); }); }); </script>
參考資料:http://fly.layui.com/jie/1106/
解決了,歡迎評論,一起進步一起學習。
