您好,登錄后才能下訂單哦!
如下所示:
<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>
上面代碼的紅色部分就是天坑:
癥狀:一個(gè)簡(jiǎn)單的AJAX提交表單操作,經(jīng)常發(fā)生后臺(tái)數(shù)據(jù)保存好了,前端layer彈出層沒(méi)有關(guān)閉,父頁(yè)面沒(méi)有刷新,定位發(fā)現(xiàn)是回調(diào)函數(shù)沒(méi)有執(zhí)行?。?!用Google Chrome瀏覽器這種現(xiàn)象較少,2而Safari 和 firefox瀏覽器100%發(fā)生。
解決過(guò)程:困擾了很久,以為是哪里代碼有問(wèn)題,檢查來(lái)檢查去沒(méi)發(fā)現(xiàn)問(wèn)題,后來(lái)基本定位到layUI這個(gè)框架。
結(jié)果:加上 紅色字體 return false,解決??!
附上官方文檔關(guān)于這里的說(shuō)明!!
form.on('submit(*)', function(data){
console.log(data.elem) //被執(zhí)行事件的元素DOM對(duì)象,一般為button對(duì)象
console.log(data.form) //被執(zhí)行提交的form對(duì)象,一般在存在form標(biāo)簽時(shí)才會(huì)返回
console.log(data.field) //當(dāng)前容器的全部表單字段,名值對(duì)形式:{name: value}
return false; //阻止表單跳轉(zhuǎn)。如果需要表單跳轉(zhuǎn),去掉這段即可。
});
這是個(gè)毛意思?AJAX提交的時(shí)候坑咋不說(shuō)?
以上這篇關(guān)于在LayUI中使用AJAX提交巨坑記錄就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。