撰寫本篇記錄文章時所使用的為以下測試環境:
Chrome: 83.0.4103.116.
OS: OS X 10.15.5
最近在排查一個在 Chrome 上發生的靈異狀況,大致上的重現(隨機)流程如下:
- 發送一個 fetch (mode:
cors
) 的 ajax request (same-origin) - ajax response 為 302 redirect
- chrome devtool 顯示 redirect 後的 request 總是處在
pending
狀態
狀態上一直如下圖顯示
詳細測試後此情況僅在 Chrome 發生此狀況,進一步使用 chrome://net-export/
查詢 network log,看起來 chrome 確實發送 request 後就無任何回應,更進一步使用在 server 端檢查 access.log
卻是沒收到任何 request.
查詢後也有幾個相關的 issue,目前並無找到可行的 workaround
只能盡可能避開使用 302 redirect + cors 發送 same-origin 的 ajax request
https://bugs.chromium.org/p/chromium/issues/detail?id=1099122&q=302%20stalled&can=2