解決JQuery的ajax函數(shù)執(zhí)行失敗alert函數(shù)彈框一閃而過(guò)問(wèn)題
先查看<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)頭部類型為html
所以只要把form表單里最后提交按鈕的type="submit"
換為type="button",
把按鈕變成原生按鈕,
就可以正確使用ajax方法傳遞數(shù)據(jù),原因就是form表單最后的提交按鈕與使用ajax傳遞數(shù)據(jù)沖突了
因?yàn)檫@個(gè)原因浪費(fèi)了挺久時(shí)間,甚至把代碼又從頭到尾寫了一遍(感覺(jué)自己好蠢?。。偨Y(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)頭部類型為html,而我設(shè)置的返回類型為json。
更換了Edge瀏覽器,問(wèn)題同樣是數(shù)據(jù)庫(kù)插入了數(shù)據(jù),但是結(jié)果沒(méi)有消息彈窗。
更換火狐瀏覽器,再次點(diǎn)擊注冊(cè)按鈕時(shí)出現(xiàn)了消息彈窗,但是閃了一下就沒(méi)了!隱隱約約發(fā)現(xiàn)彈窗顯示為‘error'(感謝火狐瀏覽器!)
總結(jié)
以上所述是小編給大家介紹的解決JQuery的ajax函數(shù)執(zhí)行失敗alert函數(shù)彈框一閃而過(guò)問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
jquery修改屬性值實(shí)例代碼(設(shè)置屬性值)
jQuery attr()方法用于設(shè)置/改變屬性值,下面的例子演示如何改變(設(shè)置)鏈接中 href 屬性的值2014-01-01jQuery實(shí)現(xiàn)鼠標(biāo)經(jīng)過(guò)提示信息的地圖熱點(diǎn)效果
這是一個(gè)升級(jí)版本,更新了一個(gè)在IE8里的小問(wèn)題,加入了提示框的內(nèi)容自動(dòng)換行處理(北京點(diǎn)上有演示)!估計(jì)差不多該是最后樣式了。IE6、IE8、谷歌、火狐、測(cè)試正常。2015-04-04在jQuery中使用$而避免跟其它庫(kù)產(chǎn)生沖突的方法
這篇文章主要介紹了在jQuery中使用$而避免跟其它庫(kù)產(chǎn)生沖突的方法,總共羅列了三種,需要的朋友可以參考下2015-08-08Jquery仿淘寶京東多條件篩選可自行結(jié)合ajax加載示例
仿淘寶京東多條件篩選可自行結(jié)合ajax加載,使用Jquery簡(jiǎn)單實(shí)現(xiàn),具體如下,喜歡的朋友可以參考下2013-08-08使用JQuery庫(kù)提供的擴(kuò)展功能實(shí)現(xiàn)自定義方法
如何沒(méi)有任何一個(gè)庫(kù)可以滿足所有的需求,可以使用JQuery庫(kù)提供的擴(kuò)展功能,下面有個(gè)示例,大家可以看看2014-09-09jquery實(shí)現(xiàn)輸入框?qū)崟r(shí)輸入觸發(fā)事件代碼
本文主要分享了jquery實(shí)現(xiàn)輸入框?qū)崟r(shí)輸入觸發(fā)事件的代碼,代碼簡(jiǎn)單易懂,需要的朋友一起來(lái)看下吧2016-12-12