ASP.NET MVC3 Ajax错误响应与HTTP 4XX

时间:2012-03-08 08:43:35

标签: asp.net asp.net-mvc json http rest

我有一个asp.net MVC3应用程序,可以在各种场合下对服务器进行Ajax调用。我们的团队就如何处理错误响应进行了辩论:

选项1 :使用HTTP状态代码返回错误响应,并将ajax失败处理程序绑定到需要在出错时调用的函数。

选项2 :使用带有JSON的标头/有效负载概念,其结构类似于

response:
    success: true
    text: <status text>
    ....
    payload: <actual response>

首先的论点是 - 为什么不重用HTTP和Ajax提供的机制。

第二个论点是 - 更不用说onFailure ajax处理程序来处理'真正的'http错误(例如由网络故障引起的......),并且在客户端和服务器之间有一个统一的合同,用于应用程序的成功和错误响应。解析响应以获取失败/成功和状态文本。

欢迎对这两种方法的想法。感谢。

1 个答案:

答案 0 :(得分:0)

我会采用第一种方法。 HTTP协议已经提供了所有机制,那么为什么每个开发人员应该每次都重新发明错误处理?如果返回200状态代码,代理服务器之类的中介无法知道不应该缓存此响应。