一次ajax請求導致status為canceled的原因小記


偶然碰到一個小Bug

ajax請求執行后返回了一個canceled(狀態碼)

但是后台卻接受了參數並且執行成功0。0

剛看到這個狀態的時候是一臉懵逼的、、、、

之前並沒見過這樣的狀態碼

經過參數確認並且再三確認

並沒有發現什么異常、、、、

后來發現Url在請求的時候被莫名其妙的帶上了些參數

經過檢查html代碼發現莫名其妙的出現了一個form標簽

而我的提交按鈕絕然還是個submit!!

沒錯,我在給人家擦屁股

原因

究其原因

僅僅是因為form action事件與綁定與submit按鈕上的click事件同時觸發。

form action將表單內容以參數的形式追加到了url的末尾

而url變更則會導致頁面重新加載

而這恰恰就是導致post請求在執行后就立即被終止的罪魁禍首!!

小結

1.在URL變更后,會對當前正在執行的ajax進求進行中止操作

2.在使用到ajax的時候,盡量不要在form內使用submit進行提交


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM