2011-10-28 15 views
10

同じURLからHTTPステータスコード200,201,202を返すサーバーがあります。 Chromeでは、ネットワークデバッグパネルで、ステータスコードが予想どおり(200,201,202など)であることを確認しました。私は次のステップを決定するために、そのステータスコードに頼っています。

jQuery(バージョン1.5.2)AJAXのコールバックが、サーバーが送信するステータスコードにjqxhr.statusを設定することを期待しています。ただし、サーバーによって送信されたコードが201または202であっても、ステータスコードは常に200です。

つまり、次のコードは、サーバーの送信内容に関係なく、Code: 200を出力します。

$.get(url, {}, function (data, textStatus, xhr) { 
    alert("Code: " + xhr.status); 
}); 

なぜこの出来事は、より重要なのは、どのように1は$.getまたは$.ajaxのためのjQueryのAJAXコールバックの実際のステータスコードを取得できますか?

ありがとうございます。

+0

JSONPまたはドメイン間の 'GET'リクエストを使用している可能性はありますか? –

+0

多分これはいくつかの助けになるでしょう:http://bugs.jquery.com/ticket/8211 – Scoobler

+0

KrisIvanov:JSONPまたはクロスドメインはありません。これは通常の並べ替えの要求です。 –

答えて

2

私が経験したことから、jQueryは、レスポンスの実際のステータスコードを処理するために非常にうまく設定されていません。あなたは良い古い裸の骨JSを使って手作業でAJAX呼び出しを行い、自分で状態を処理することができます。

これを行う方法に関するチュートリアルがあります。あなたがリクエストオブジェクトにステータスコードにアクセスすることができるはずどこ

http://www.degraeve.com/reference/simple-ajax-example.php

http://www.w3schools.com/ajax/default.asp

request.statusです。リクエストのステータスに関するより詳細な情報にアクセスする方法を少しずつ示した別のページです。

http://www.ibm.com/developerworks/web/library/wa-ajaxintro3/

あなたはそれを爪に役立ちます願っています!

+0

Thumallenはそうだ。 jquery ajaxによるリダイレクトの受け取りは不快です – Mikhail

関連する問題