0
anugular.jsで$ httpモジュールを使用すると、ステータスコードが-1になることがあります。
は、それらの理由を区別するためにそのステータスコードについて詳細を取得する方法はあります...、CORSコールがなど、失敗タイムアウト:は、私のようなこのステータスコードを取得するための多くの理由があります知っていますか?
anugular.jsで$ httpモジュールを使用すると、ステータスコードが-1になることがあります。
は、それらの理由を区別するためにそのステータスコードについて詳細を取得する方法はあります...、CORSコールがなど、失敗タイムアウト:は、私のようなこのステータスコードを取得するための多くの理由があります知っていますか?
HTTP -1は、要求が中止されたことを示す角度ベースの応答コードです(see the docs)。残念なことに、この仕様ではそれ以外の情報はそれほど多くはないようです。 $httpBackendと$httpのソースコードに
ダイビングは、要求が角度によって中止された場合-1
のステータスコードがしか返されることを示している(または要求が中断した場合/エラーすなわち、はい、CORSエラー)するようだが、他の情報は与えられない(少なくとも消耗しにくい情報)。 This lineはそれを裏付けるようです。
したがって、-1のエラーは不透明なエラーであり、何が原因かを判断することはできません(自分でキャンセルをトリガーしない限り)。
明確にするには、問題を診断する方法がいくつかあります。
navigator.onLine
(docs)です。これにより、実際にネットワークに接続できるかどうかを判断できます。これがfalseを返す場合、タイムアウトはあなたの終了によるものであることがわかります。サーバーと通信するときにクライアントによって発生したタイムアウトは、HTTP 408として返されます。これにより、-1/0のHTTPステータスコードがタイムアウトに起因するものかどうかを判断できます。