asp.net MVC/jQuery Ajax返回500异常而非JSON结果
我在所有中间层控制器操作中都有一个asp.net MVC 2 web应用程序,我捕获所有异常,记录,然后重新引发异常。jqueryajax错误处理程序将获取此重试asp.net MVC/jQuery Ajax返回500异常而非JSON结果,jquery,asp.net,ajax,json,jqxhr,Jquery,Asp.net,Ajax,Json,Jqxhr,我在所有中间层控制器操作中都有一个asp.net MVC 2 web应用程序,我捕获所有异常,记录,然后重新引发异常。jqueryajax错误处理程序将获取此重试 throw new Exception(e.Message); 我正在通过JQuery调用ajax,如下所示 jQuery.ajax({ url: '/controller/action', success: function(data) { }, error: function(jqXHR, textStatus, er
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时出现错误。我认为这可能是IIS设置,因为我们最近切换到了一个新的Web服务器。**在Firebug中,不再有正常的JSON响应。我只是将服务器响应视为500异常**看起来像是IIS 7设置。在错误页面-->编辑功能设置-->选择详细错误 尝试将其添加到web.config。返回JsonResult和statusCode=500以及errorMode!=详细信息,返回的json中的responseText将是html代码中的“内部服务器错误”,而不是json字符串
<system.webServer>
<httpErrors errorMode="Detailed" />
</system.webServer>
看起来像是IIS 7设置。在错误页面-->编辑功能设置-->选择详细错误。