場景還原
最近做一個表單提交的需求時,遇到了這種情況,輸完賬號密碼後回車提交,報錯,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同理),如下圖: