質問: BサイトへXMLHTTPRequestでアクセスし、認証されなかった場合、 Javascriptでhttp statusを取得すると status code は 0 になっています。 なぜ、0が返ってくるのでしょうか。 chrome 開発者ツールのnetworkは、401を返しています。 で同様の質問がありましたが、解決されていないため、質問させていただきます。 プレフライトリクエスト ----------- ![画像の説明をここに入力](https://i.stack.imgur.com/rWlRo.png) 実際のリクエスト (status 401が返ってきている) ----------------------------- ![画像の説明をここに入力](https://i.stack.imgur.com/E2ECV.png) Javascript (status 0になっている) --------------------------- ![画像の説明をここに入力](https://i.stack.imgur.com/TPxPg.png)
回答: ブラウザの仕様かもしれません。 MDNのリファレンスで以下のように記載されています。 > > Before the request is complete, the value of status will be 0. It is worth noting that browsers report a status of 0 in case of XMLHttpRequest errors too. > > > ``` リクエストが完了する前はstatusは0である。XMLHttpRequestのエラーもまたブラウザは0をレポートする。 ```