すべての中間層コントローラー アクションに asp.net MVC 2 Web アプリケーションがあります。すべての例外をキャッチし、ログに記録してから、例外を再スローします。この再スローは、JQuery Ajax エラー ハンドラーによって取得されます。
throw new Exception(e.Message);
このようにJQueryを介してajax呼び出しを行っています
jQuery.ajax({ url: '/controller/action',
success: function(data) { },
error: function(jqXHR, textStatus, errorThrown) {
var error_json = JSON.parse(jqXHR.responseText); // this is returning error
var html_error = error_json["Message"];
}
});
そして、何らかの理由で jqXHR.responseText が何も返さなくなり、responseText の解析時にエラーが発生します。最近新しい Web サーバーに切り替えたので、IIS の設定かもしれません。** Firebug を調べると、通常の JSON 応答はもうありません。サーバーの応答が 500 例外として表示されます **