XMLHttpRequestオブジェクトから送信したリクエストに対し、サーバがリダイレクト応答(ステータスコード=302)を返したときのハンドリングってどうやればいいんだろうか?と悩んだのでその記録。 解決したかったのは、以下のような問題。 XMLHttpRequestで送ったリクエストが、サーバで認証エラー(セッションタイムアウトなど)となる このときサーバは認証エラー(=401)を返すのではなく、ログインページへのリダイレクトを返す クライアント(XMLHttpRequest)は、リダイレクト応答をうけとり、自動的にリダイレクト先を追跡する 結果、クライアントはログインページのHTMLを取得する(このときステータスコード=200) しかし、そもそもクライアントはJSON形式のデータを期待しているためスクリプトエラーとなる 調べてみたところ、XMLHttpRequestはリダイレクト応答