這次帶給大家ajax請求出錯狀態碼為0時該如何處理,處理ajax請求出錯狀態碼為0時的注意事項有哪些,以下就是實戰案例,一起來看一下。
今天在使用 ajax 向後台請求資料時出現錯誤,提示狀態碼為 0 ,後台採用的是 spring mvc 架構。
狀態碼為0是什麼意思呢?查找了下,原來它意味著(未初始化)即沒有調用到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("发表成功!"); window.location.href = 'http://www.baidu.com'; } }, error: function(XMLHttpRequest, textStatus, errorThrown){ alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); } });
仔細檢查,好像沒什麼不對勁的啊,況且在後台都能正常接收發送的數據了,說明ajax 還是發送了數據的,這是後台打印的相關參數信息
#又一番思索,原來是表單出現了問題:
<form onsubmit="addBlog();"> //中间省略 <button type="submit">发表博客</button> </form>
可以看到,我在button 標籤上新增了type=」submit」屬性,但這樣做會產生新的一次表單點擊提交,本來form 預設點擊button時會產生一次提交, button type=”submit” 時又會產生新第一次提交,導致ajax 未執行完畢表單事件發生了變更。
解決方法: 將上面程式碼改為:
<form onsubmit="return false"> //中间省略 <button type="addBlog()">发表博客</button>
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
#以上是ajax請求出錯狀態碼為0時該如何處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!