【发布时间】:2019-05-08 21:20:00
【问题描述】:
我遇到了这个问题
从源“http://localhost:4200”访问“http://localhost:8082/v1/store/getstore”处的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:预检请求不允许重定向。
我在 application.yaml 中的配置是
grails:
cors:
enabled: true
allowedOrigins:
- http://localhost:4200
在url映射中
"/v1/store/getStore"(controller: 'store', action: 'getStore')
当我直接以“http://localhost:8082/store/getstore”的形式点击请求时,它不会抛出错误,而是在放置 urlMapping 后抛出 cors 问题。
【问题讨论】:
-
该错误消息表明服务器正在使用 3xx 重定向响应 CORS 预检 OPTIONS 请求。除非响应是 2xx 成功消息,否则预检失败。因此,您需要弄清楚服务器为何响应 OPTIONS 请求以及它尝试重定向到的 URL 以及原因 - 然后重新配置服务器以阻止该重定向,或者更改您的前端 JavaScript 代码以发出对重定向的请求网址。
-
实际上服务器对第一个 OPTION 请求的响应为 200,但 OPTION 请求再次被 angular 击中。