JQuery的ajax函数执行失败,alert函数弹框一闪而过
先查看<form>標(biāo)簽是否有action屬性,如果沒(méi)有,并且最后<button>標(biāo)簽的type屬性為'submit‘時(shí),默認(rèn)提交位置就是當(dāng)前頁(yè)面
如果在頁(yè)面右鍵檢查,點(diǎn)擊網(wǎng)絡(luò),會(huì)在開(kāi)頭發(fā)現(xiàn)這樣的post包:
在右側(cè)消息頭處可見(jiàn),請(qǐng)求網(wǎng)址為當(dāng)前網(wǎng)址,并且響應(yīng)頭部類(lèi)型為html
所以只要把form表單里最后提交按鈕的type="submit"換為type="button",把按鈕變成原生按鈕,
就可以正確使用ajax方法傳遞數(shù)據(jù),原因就是form表單最后的提交按鈕與使用ajax傳遞數(shù)據(jù)沖突了
?
因?yàn)檫@個(gè)原因浪費(fèi)了挺久時(shí)間,甚至把代碼又從頭到尾寫(xiě)了一遍(感覺(jué)自己好蠢啊!),總結(jié)了一下調(diào)試過(guò)程。
先貼一下ajax代碼:
$(function () {$("#register").on('click',function () {$.ajax({type: 'post',url:"{:url('insert')}",data:$('#login').serialize(),dataType:'json',success:function (data) {alert('成功');},error:function () {alert('error');}})})});這里‘#register’是提交按鈕,‘#login’是表單,url發(fā)送到一個(gè)php腳本(插入表單數(shù)據(jù)到數(shù)據(jù)庫(kù))。
用谷歌瀏覽器打開(kāi)頁(yè)面,點(diǎn)擊注冊(cè)按鈕后,當(dāng)前頁(yè)面刷新,沒(méi)有任何反應(yīng)。
正常情況下,ajax執(zhí)行正確或失敗,根據(jù)上述代碼都應(yīng)該有消息彈窗,于是感覺(jué)到哪里出了問(wèn)題。
打開(kāi)數(shù)據(jù)庫(kù),發(fā)現(xiàn)表單的數(shù)據(jù)都已經(jīng)插入到數(shù)據(jù)庫(kù)了,說(shuō)明后臺(tái)php腳本是運(yùn)行成功的,只是在返回?cái)?shù)據(jù)的時(shí)候出現(xiàn)了問(wèn)題。
右鍵檢查找到該post包,發(fā)現(xiàn)響應(yīng)頭部類(lèi)型為html,而我設(shè)置的返回類(lèi)型為json。
更換了Edge瀏覽器,問(wèn)題同樣是數(shù)據(jù)庫(kù)插入了數(shù)據(jù),但是結(jié)果沒(méi)有消息彈窗。
更換火狐瀏覽器,再次點(diǎn)擊注冊(cè)按鈕時(shí)出現(xiàn)了消息彈窗,但是閃了一下就沒(méi)了!隱隱約約發(fā)現(xiàn)彈窗顯示為‘error’(感謝火狐瀏覽器!)
根據(jù)alert彈窗一閃而過(guò)這個(gè)線(xiàn)索,發(fā)現(xiàn)了解決問(wèn)題的這篇文章,同時(shí)感謝這篇文章的博主。
參考:關(guān)于layer的提示框,彈出框一閃而過(guò)的問(wèn)題
?
轉(zhuǎn)載于:https://www.cnblogs.com/sfriend/p/10676193.html
總結(jié)
以上是生活随笔為你收集整理的JQuery的ajax函数执行失败,alert函数弹框一闪而过的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php 红包算法,PHP语言:实现微信红
- 下一篇: Linux优盘挂载卸载以及文件查看