【发布时间】:2014-12-28 23:23:15
【问题描述】:
编辑:我刚刚意识到这是Recommended solution for AJAX, CORS, Chrome & HTTP error codes (401,403,404,500) 的副本,他尝试了我最后提出的想法。但我不知道他是否成功了(笨蛋用户?),没有其他人发布解决方案甚至评论,所以我认为值得寻找新的答案。
问题:
- 我发送了一个正确执行的(编辑:IMproperly-executed。故事结束...)CORS 请求。
- 服务器收到请求并尝试处理它。
- 服务器返回错误响应,例如
422 Unprocessable Entity,以及有关错误的 JSON 信息。这个想法是我的应用可以接收此错误信息并在 UI 中适当地处理它。 - 浏览器阻止我的错误处理程序获取响应内容,甚至获取状态码。
显示浏览器收到401 状态码,但将其视为 CORS 安全错误:
响应对象,显示我的代码无法访问响应数据(data: "",status: 0):
其他人是如何处理这个限制的?我现在最好的猜测是劫持 HTTP “成功”代码 (2XX) 作为错误代码,然后在响应中包含错误信息。这使我无法以正常方式使用 ajax 错误处理程序,但我还是将其作为全局 ajax 过滤器处理,因此此过滤器将捕获异常成功代码并触发错误处理程序。
【问题讨论】:
-
那个链接确实有另一个答案,顺便说一句。我不知道您是在尝试修复错误还是只是捕获它。
标签: javascript ajax http cors