跳到主要內容

發表文章

目前顯示的是 四月, 2019的文章

Chrome 放棄請求

有人遇到 Chrome 放棄 (abort) ajax 請求 (request) 的狀況,但原因不明。只知道 XMLHttpRequestEventTarget.onabort 被呼叫了。有人查了 Chrome 的程式碼與也有人歸納自己的經驗,發現有以下幾種情形 Chrome 會放棄請求:發出請求的 DOM 元素已經被刪叫例如說 <img> 將要載入圖片,但在載入發生之前,<img> 就被刪掉了。做了某件事造成不需要該請求例如載入一個 iframe,但卻改變 src 屬性,因此原本要載入的內容就不需要了。多個請求中的第一個失敗了架設有多個請求陸續發到同一個伺服器,先發的某個請求因為網路問題失敗了,例如 DNS 錯誤、400 等,那後續的請求就會被取消Self-signed certificate 不被 android Chrome 信任你發出一個請求到一個 self-signed 網站,因為 SSL certificate 不被 Chrome 信任,因此它就悄悄地取消該請求,也沒有任何訊息。要下載與安裝該 certificate 到 Chrome 中才能解決。點擊在 form 中的 <button>若點擊在 form 中的 <button> 要發出 AJAX 請求,也會被瀏覽器取消。
你可以改用 div 或 span 。如果必須要用 button,必須呼叫preventDefault()。ajax 請求違反 same origin policy參考資料:https://stackoverflow.com/questions/12009423/what-does-status-canceled-for-a-resource-mean-in-chrome-developer-tools/13459106#13459106http://twincreations.co.uk/ajax-request-canceled-status-with-no-http-header/