col*_*lin 7 javascript ajax http cors
编辑:我刚刚意识到这是AJAX、CORS、Chrome 和 HTTP 错误代码 (401,403,404,500)的推荐解决方案的副本,他在最后尝试了我提出的想法。但是我不知道他是否成功了(无用的用户?),并且没有其他人发布了解决方案甚至评论,所以我认为值得寻找新的答案。
问题:
422 Unprocessable Entity,以及有关错误的 JSON 信息。这个想法是我的应用程序可以接收此错误信息并在 UI 中适当地处理它。显示浏览器收到401状态代码但将其视为 CORS 安全错误:

响应对象,显示我的代码无法访问响应数据 ( data: "", status: 0):

其他人是如何处理这个限制的?我现在最好的猜测是劫持 HTTP“成功”代码 ( 2XX) 作为错误代码,然后在响应中包含错误信息。这使我无法以正常方式使用 ajax 错误处理程序,但无论如何我都将其作为全局 ajax 过滤器处理,因此该过滤器将捕获异常成功代码并改为触发错误处理程序。
控制台消息表明服务器Access-Control-Allow-Origin在发送 401 响应代码时没有发送所需的标头。
除非您修复该问题,否则您将无法使用 CORS 错误处理程序将内容注入 DOM。
服务器可能会在响应中正确发送响应代码为 200 的标头。但是,如果您希望使用来自这些响应代码的数据,则需要为其他响应代码执行此操作。
在客户端进行设计妥协之前,先在服务器端修复它。这可能会立即解决您的问题。