2011-07-27 5 views
2

カスタムhttpステータスメッセージで応答するメカニズムを作成し、jQuery Ajaxを使用してクライアント側で捕捉しようとしています。2xxの範囲のjQuery ajaxカスタムHTTPステータスメッセージ

私は、エラーメッセージ(HTTP 4xx、5xx)に対してのみ実行する方法を考えましたが、成功したHTTPメッセージ(HTTP 2xx)では実行できませんでした。

は、一例として、私はHTTP 400 FROG CATCH状態からの警告「FROGのCATCH」を抽出し、ために管理しますが、HTTP 200 FROG ESCAPE

から「FROGのESCAPE」を警告することはできません任意の体がいることを支援するためのjQueryのAJAXを拡張する方法を知っていスキーマの種類?

誰でも?

答えて

0

AJAX応答は、成功とエラーに基づいています。あなたのコンテンツが200ステータス(OK)、304(修正されていない)などで返された場合、AJAXコールはステータスが通常表示されるエラーセクションではなく、成功レスポンスセクションを利用します(エラーセクションのステータスは主にエラーの理由を示すために使用されます)。あなたが返すものとそれを返すフォーマットに応じて、そのレスポンスの成功のセクションを調べる必要があります。以下のようなので、(構文解析のためのJSONオブジェクトに変換)サーバーの言語はPHPであると仮定すると、あなたが返されるデータにはその成功のステータスが含まれます:

$.ajax({ 
    url : 'your_url.php', 
    type : 'POST', 
    dataType : 'JSON', 
    data : yourData, 
    success : function(data) { 
     if(data) { 
      if(data.status) { 
       alert('Status: ' + data.status); 
      } 
     } 
    }, 
    error : function(xhr, response, status) { 
     alert('Response: ' + response.responsetext); 
    } 
}); 

をステータスキャリアとしてあなたのJSONオブジェクトを利用することで、あなたがカスタマイズすることができますあなたのステータスレスポンス。実際のサーバーヘッダーレスポンスを見ると、これはChromeのインスペクタのネットワークタブ、Firebugのネットタブ、Safariの開発ツールセクションに表示されます(名前はわかりません)。

関連する問題