ajax請求文件狀態爲 canceled 的解決辦法

ajax請求文件狀態爲 canceled 的解決辦法

場景還原

最近做一個表單提交的需求時,遇到了這種情況,輸完賬號密碼後回車提交,報錯,f12打開看到是請求的status爲canceled了,震驚一秒鐘。。。如下圖:
在這裏插入圖片描述

原因分析

請求的文件狀態爲啥是canceled,文字翻譯過來就是被取消。經查資料分析,canceled是因爲請求被表單自帶的form action事件打斷而產生的。form action在地址欄改變了url,刷新了頁面,故請求被取消。

解決

原因知道了,是因爲請求被打斷,表單自帶的from action事件與我綁定與div上的keydown.enter事件同時觸發,form action事件因刷新頁面把keydown.enter事件發送的請求打斷了,造成事故。。。

解決方式:(二選一)

1、使用form action方式提交請求;

2、使用button或者submit按鈕提交,切記按鈕在form表單之外,或者阻止表單默認提交機制。

我這裏用的增加阻止表單默認事件,達到效果(這裏用的vue,html同理),如下圖:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章