当前位置: 首页 > 知识库问答 >
问题:

asp.netMVC/jQuery Ajax返回500异常而不是JSON结果

彭衡
2023-03-14

我有一个 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时遇到错误。我认为这可能是IIS设置,因为我们最近切换到新的Web服务器。**查看Firebug,没有更多的JSON响应。我只是将服务器响应视为500异常**

共有2个答案

毛成济
2023-03-14

尝试将其添加到 web.config。当返回 JsonResult 和状态代码 = 500 和错误模式 != 详细信息时,返回的 json 中的响应文本将在 html 代码中为“内部服务器错误”,而不是 json 字符串

<system.webServer>
    <httpErrors errorMode="Detailed" />
</system.webServer>
姚信鸥
2023-03-14

看起来像是IIS 7设置。在错误页面中-

 类似资料:
  • 我正在使用org。springiframework。网状物客户RestTemplate用于一些Java测试,以编写一些新代码的单元测试。我预计这些调用会失败(我正在测试身份验证) 调用不是返回预期的401代码,甚至不是500代码,而是抛出异常。 电话是这样的: 我怀疑我错过了一些非常明显的东西,但我不知道它是什么。这难道不应该简单地返回一个状态代码=401的实体响应吗?

  • 我正在使用Reverfit 2.0从返回json文本的web服务读取数据,但在下面的代码中响应是LinkedTreeMap,我无法将其转换为json: 现在我从站点读取数据: 形成的url为json响应为

  • 我在一个基于XML的spring上下文文件中定义了一个骆驼上下文。有一条路由正在由SOAP(XML)web服务客户端bean调用。在调用路由时,它抛出一些异常,客户端接收到骆驼异常,而不是原始异常。 Camel在异常时对客户端的响应如下所示 预期响应应该是任何异常的原始异常消息 这是我的骆驼路线定义 我尝试使用camel onException但没有成功:(

  • 合同代码: 如何在API中调用函数: 的值不是对的有效查询吗? 可能我使用的函数是错误的,因为文档中提到函数返回stateQueryInterator。有人能帮助我在javascript中如何使用函数吗?谢谢

  • 我正在尝试使用HttpWebRequest验证Url的存在。我发现了一些基本上这样做的示例: 但是,如果url确实损坏了,它不会返回响应,而是抛出异常。 我将代码修改为: 这似乎终于做到了我想要的。 但是我想知道,为什么请求会抛出异常,而不是返回带有NotFindstatus代码的响应?

  • 以下endpoint以字符串形式返回用户名。 我如何构造它以返回一个json对象,该对象包含一个键,该键的值为该字符串(例如,{“user”:“joeuser”})?