2016-08-09 10 views
0

「失敗」jqueryコールバック関数でステータスコードにアクセスするにはどうすればよいですか? jXhrはコード0を報告します。textStatusは "error"です。 curlを使用してリクエストを行うと、jsonレスポンスボディが存在し、ステータスコードが正しく設定されます。下記参照。jquery ajaxを使用して401の不正なhttp応答をキャッチ

< HTTP/1.1 401 Unauthorized 
HTTP/1.1 401 Unauthorized 
< Server: nginx/1.10.0 (Ubuntu) 
Server: nginx/1.10.0 (Ubuntu) 
< Date: Tue, 09 Aug 2016 01:39:03 GMT 
Date: Tue, 09 Aug 2016 01:39:03 GMT 
< Content-Type: application/json 
Content-Type: application/json 
< Content-Length: 42 
Content-Length: 42 
< Connection: keep-alive 
Connection: keep-alive 

< 
* Connection #0 to host api.somedomain.com left intact 
{"status": "error", "msg": "unauthorized"} 

ここに何か不足していますか?これはjsonpリクエストではありません。サーバーは、このGET要求の前に、プリフライトOPTIONS要求の間に、 アクセス制御許可原点を適切に設定します。親ドメインは同じで、サブドメインのみが異なります。

バックエンドがボトルでのpython 3を使用しているが

401コールバックを持つからstatusCodeがトリガされないとエラーコールバックがトリガされますが、ステータスコードが0に設定されているが、また、完全なコールバックが0の状態コードを報告します他の質問は私の問題を解決しません。

+0

[jQueryを使用してHTTPステータスコードを取得するにはどうすればよいですか?](http://stackoverflow.com/questions/2955947/how-do-i-get-the-http-status-code-with- jquery) – Karin

+0

401コールバックのstatusCodeはトリガされず、エラーコールバックがトリガされますが、ステータスコードは0に設定され、完全コールバックはステータスコード0 – user964491

答えて

0

プリフライトのOPTIONS呼び出しが成功し、すべてのクロスドメイン関連のヘッダーが設定されていましたが。その後のGET呼び出しには、次のヘッダーも設定する必要があります。Access-Control-Allow-Origin

これを追加して問題を修正しました。うまくいけば、これは将来誰かを助けてくれるでしょう。

関連する問題