快速解決ajax請求出錯狀態(tài)碼為0的問題
今天在使用 ajax 向后臺請求數(shù)據(jù)時出現(xiàn)錯誤,提示狀態(tài)碼為 0 ,后臺采用的是 spring mvc 架構(gòu)。
狀態(tài)碼為0是什么意思呢?查找了下,原來它意味著 (未初始化)即沒有調(diào)用到send()方法,我原來代碼如下 :
$.ajax({ url:"test", type:"post", data:{ blogTitle : $("#form1 input").val(), blogType : $("#form1 option:selected").val(), article : htmlcontent }, dataType: "json", success: function(data,textStatus){ if(data.flag == "success"){ alert("發(fā)表成功!"); window.location.; } }, error: function(XMLHttpRequest, textStatus, errorThrown){ alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); } });
仔細檢查,好像沒什么不對勁的啊,況且在后臺都能正常接收發(fā)送的數(shù)據(jù)了,說明 ajax 還是發(fā)送了數(shù)據(jù)的,這是后臺打印的相關參數(shù)信息
又一番思索,原來是表單出現(xiàn)了問題:
<form onsubmit="addBlog();"> //中間省略 <button type="submit">發(fā)表博客</button> </form>
可以看到,我在 button 標簽添加了 type=”submit”屬性,但這樣做會產(chǎn)生新的一次表單點擊提交,本來form 默認點擊 button 時會產(chǎn)生一次提交 , button type=”submit” 時又會產(chǎn)生新第一次提交,導致 ajax 未執(zhí)行完畢表單事件發(fā)生了改變。
解決方法: 將上面代碼改為:
<form onsubmit="return false"> //中間省略 <button type="addBlog()">發(fā)表博客</button>
以上這篇快速解決ajax請求出錯狀態(tài)碼為0的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
通過Ajax方式綁定select選項數(shù)據(jù)的實例
今天小編就為大家分享一篇通過Ajax方式綁定select選項數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08Ajax 給 XMLHttpReq.onreadystatechange傳遞參數(shù)
這篇文章主要介紹了Ajax如何給XMLHttpReq.onreadystatechange =函數(shù)傳遞參數(shù),需要的朋友可以參考下2014-05-05使用AjaxFileUpload.js實現(xiàn)異步文件上傳示例
AjaxFilleUpload.js可以使得我們不用去管理Iframe的一系列操作,也不用影響我們的頁面結(jié)構(gòu),實現(xiàn)異步的文件提交2014-05-05