3

良いケースでは、私のJSONエンドポイントは適切なJSON応答を返します{status: "success"}。ただし、Webサーバー500でエラーが発生した場合、500の応答本文はHTMLであり、jQueryで解析しようとするとSyntaxErrorが発生し$.parseJSONます。

この質問は、リクエストからdataTypeパラメータを削除することを提案しています。私はむしろそれをしたくありません、非JSON応答によって引き起こされたSyntaxErrorを試す/キャッチする方法はありますか?

4

1 に答える 1

1

jQuery API から

Important: As of jQuery 1.4, if the JSON file contains a syntax error, 
the request will usually fail silently.

エラーコールバックで処理できます。

$.ajax({
        url: "MYURL",
        dataType: 'json',
        success: function(data) {

        },
        error: function(e) {
          if(e.status == 500)
            alert("500 Internal Server Error");
        }
});
于 2012-07-11T23:17:11.807 に答える