当前位置: 首页 > 面试题库 >

失败/错误时,JSON服务应返回什么

郗鹏
2023-03-14
问题内容

我在C#(.ashx文件)中编写JSON服务。在成功请求服务后,我返回了一些JSON数据。如果请求失败,要么是由于引发异常(例如,数据库超时),要么是因为请求在某种程度上是错误的(例如,将数据库中不存在的ID用作参数),服务应该如何响应?哪些HTTP状态代码是明智的,是否应该返回任何数据?

我预计该服务将主要使用jQuery.form插件从jQuery调用,jQuery或此插件是否具有处理错误响应的默认方式?

编辑: 我已经决定成功使用jQuery + .ashx + HTTP
[状态代码],我将返回JSON,但在错误时,我将返回一个字符串,因为这似乎是jQuery的错误选项。阿贾克斯期望。


问题答案:

您返回的HTTP状态代码应取决于发生的错误的类型。如果数据库中不存在ID,则返回404;否则,返回404。如果用户没有足够的特权进行该Ajax调用,则返回403;否则,返回403。如果数据库在找到记录之前超时,则返回500(服务器错误)。

jQuery自动检测到此类错误代码,并运行您在Ajax调用中定义的回调函数。文档: http
//api.jquery.com/jQuery.ajax/

$.ajax错误回调的简短示例:

$.ajax({
  type: 'POST',
  url: '/some/resource',
  success: function(data, textStatus) {
    // Handle success
  },
  error: function(xhr, textStatus, errorThrown) {
    // Handle error
  }
});


 类似资料:
  • 这是我第一次编写一个应用程序,其中我将后端链接到fornted(spring-boot-react)。 我已经到了这样的地步,我想从客户端视图中填写一个表单并提交它(在这种情况下,将表单保存到数据库中)。 我启动了服务器(spring boot中的应用程序)和客户端(react)。启动的应用程序已加载。表单会显示出来,但当我填写表单并单击“提交”时,不会执行任何操作。我使用devtools并得到错

  • 问题内容: 我需要我的Web服务以返回JSON … 我的.asmx文件中包含以下代码: 返回以下内容: 如何强制它返回JSON而不是XML? 问题答案: 您的Web服务定义看起来正确。确保通过帖子调用服务,并记住该键将“内容类型”标头指定为。 (这是使用jQuery,但如果您愿意,可以使用低级JavaScript)

  • 问题内容: 好的,所以我创建了一个测试项目,只是为了验证jQuery AJAX是否可以与asp.net服务一起使用,并且没有问题。我使用了在VS Studio中创建的默认HelloWorld服务。我通过jQuery这样调用服务: 在Default.aspx中: 在TestService.asmx中 然后,我继续进行操作,并完全复制了项目中的所有内容,但它不起作用。我收到500个服务器错误。 我验证

  • 首先,我在google和statckoverflow中尝试了很多,但还是失败了。我希望能帮助我。谢谢你。 当从我的WebClient调用WCF服务时,我收到以下错误。 注意2:服务器和Web客户端托管在IIS中。

  • 我想使用cli复制此Spring初始化设置。 然而,每当我尝试将“rest”添加为依赖项时,该命令就会返回以下错误消息,即rest存储库在rest之上公开Spring数据存储库。 下面是我正在运行的命令: 如果rest不是正确的依赖项名称,那么是什么?此外,如何从命令行列出可用的依赖项以获得正确的名称。

  • 问题内容: 我使用ASP.NETMVC从jQuery发布JSON,并使用此小库函数获取一些JSON: 所以显然我会这样称呼: ASP.NET MVC 3和ASP.NET MVC4支持事物的提交方面(在需要扩展ASP.NETMVC来处理提交JSON之前),但是我遇到的问题是返回。在控制器上,我经常返回null,基本上说“成功,没什么可说的”,例如: 我经常使用这种模式,并且效果很好-调用了我的成功/