予期せずsuccess
の代わりにerror
コールバックをトリガーするjQuery AJAXポストリクエストがあります。私が持っている1つのランダムな疑いは、それが間違っているかもしれませんが、受信している302ステータスコードです。jQuery.ajaxはどのような回答を "成功"と考えていますか?
私はthe documentationを見ましたが、1つのことがはっきりしないように感じられます。jQueryのリクエストの成功の定義は何ですか?
予期せずsuccess
の代わりにerror
コールバックをトリガーするjQuery AJAXポストリクエストがあります。私が持っている1つのランダムな疑いは、それが間違っているかもしれませんが、受信している302ステータスコードです。jQuery.ajaxはどのような回答を "成功"と考えていますか?
私はthe documentationを見ましたが、1つのことがはっきりしないように感じられます。jQueryのリクエストの成功の定義は何ですか?
応答が199〜300(> = 200および< 300)または304に等しい場合、responseTextは指定したデータ型(デフォルトではテキスト)に正常に変換できます。
たとえば、JSONを返すと応答ステータスが200になりますが失敗すると、JSONパーサーの問題がJSONが有効でない可能性があります。あなたがHTMLやXMLを返すされており、それは200応答ステータスで失敗した場合、responsetextはそれぞれHTMLまたはXMLに変換することができませんでした
(一般的に無効なHTML/XMLとIEで発生)
私はそれをテストし、302のプレーンステータスコードはエラーになります。おそらく、AJAXリクエストに対する肯定的な回答が常に200であることを簡単にするために最適です。 –
非常に役に立ちました!私は正確なコードを検索し、決定は[完了](https://github.com/jquery/jquery/blob/0d68b7877f761264bfe4950e4df156b854925a6b/src/ajax.js#L655)内部コールバックメソッド内で発生します。具体的には:[ステータスコードチェック](https://github.com/jquery/jquery/blob/0d68b7877f761264bfe4950e4df156b854925a6b/src/ajax.js#L683)、[応答解析チェック](https://github.com/jquery/jquery) /blob/0d68b7877f761264bfe4950e4df156b854925a6b/src/ajax.js#L721) – pimlottc
私はときだと思いますHTTP 200の応答があります。 – jcubic
が4xx/5xxコードでない場合は、基本的に3xxは、リダイレクトに続いて、新しいURLが返すコードで動作します.2xxは、httpの成功を意味します。 –
薄い2xxと3xxのレスポンスは成功です。しかし、それを承認することはできません。 –