我有一个asp.net MVC3应用程序,可以在各种场合下对服务器进行Ajax调用。我们的团队就如何处理错误响应进行了辩论:
选项1 :使用HTTP状态代码返回错误响应,并将ajax失败处理程序绑定到需要在出错时调用的函数。
选项2 :使用带有JSON的标头/有效负载概念,其结构类似于
response:
success: true
text: <status text>
....
payload: <actual response>
首先的论点是 - 为什么不重用HTTP和Ajax提供的机制。
第二个论点是 - 更不用说onFailure ajax处理程序来处理'真正的'http错误(例如由网络故障引起的......),并且在客户端和服务器之间有一个统一的合同,用于应用程序的成功和错误响应。解析响应以获取失败/成功和状态文本。
欢迎对这两种方法的想法。感谢。
答案 0 :(得分:0)
我会采用第一种方法。 HTTP协议已经提供了所有机制,那么为什么每个开发人员应该每次都重新发明错误处理?如果返回200状态代码,代理服务器之类的中介无法知道不应该缓存此响应。