關(guān)于在LayUI中使用AJAX提交巨坑記錄
如下所示:
<script>
layui.use(['layer', 'form','laydate'], function(){
var layer = layui.layer
,laydate=layui.laydate
,form = layui.form;
form.on('submit(go)', function(data){
$.ajax({
url:'/user/addOrUpdate',
method:'post',
data:data.field,
dataType:'JSON',
success:function(res){
if(res.code='0'){
parent.closeIframe(res.msg);
}
else
alert(res.msg);
},
error:function (data) {
}
})
return false;
});
});
</script>
上面代碼的紅色部分就是天坑:
癥狀:一個簡單的AJAX提交表單操作,經(jīng)常發(fā)生后臺數(shù)據(jù)保存好了,前端layer彈出層沒有關(guān)閉,父頁面沒有刷新,定位發(fā)現(xiàn)是回調(diào)函數(shù)沒有執(zhí)行?。。∮肎oogle Chrome瀏覽器這種現(xiàn)象較少,2而Safari 和 firefox瀏覽器100%發(fā)生。
解決過程:困擾了很久,以為是哪里代碼有問題,檢查來檢查去沒發(fā)現(xiàn)問題,后來基本定位到layUI這個框架。
結(jié)果:加上 紅色字體 return false,解決?。?/p>
附上官方文檔關(guān)于這里的說明??!
form.on('submit(*)', function(data){
console.log(data.elem) //被執(zhí)行事件的元素DOM對象,一般為button對象
console.log(data.form) //被執(zhí)行提交的form對象,一般在存在form標(biāo)簽時才會返回
console.log(data.field) //當(dāng)前容器的全部表單字段,名值對形式:{name: value}
return false; //阻止表單跳轉(zhuǎn)。如果需要表單跳轉(zhuǎn),去掉這段即可。
});
這是個毛意思?AJAX提交的時候坑咋不說?
以上這篇關(guān)于在LayUI中使用AJAX提交巨坑記錄就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解微信圖片防盜鏈“此圖片來自微信公眾平臺 未經(jīng)允許不得引用”的解決方案
這篇文章主要介紹了詳解微信圖片防盜鏈“此圖片來自微信公眾平臺 未經(jīng)允許不得引用”的解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
JavaScript鏈?zhǔn)秸{(diào)用原理與實現(xiàn)方法詳解
這篇文章主要介紹了JavaScript鏈?zhǔn)秸{(diào)用,結(jié)合實例形式詳細(xì)分析了JavaScript鏈?zhǔn)秸{(diào)用基本原理、實現(xiàn)方法與相關(guān)操作注意事項,需要的朋友可以參考下2020-05-05

