Access to XMLHttpRequest at 'http://219.146.137.226:25902/proxyApi/login?grant_type=admin' from origin 'http://localhost:8081' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
时间: 2024-04-19 13:29:49 浏览: 144
这个错误是由于跨域资源共享(CORS)策略引起的。浏览器执行跨域请求时,会向服务器发送一个预检请求(preflight request),以确定服务器是否允许跨域访问。在预检请求中,浏览器会检查响应中是否包含了 "Access-Control-Allow-Origin" 头部字段。
在你的情况下,由于服务器返回的响应中没有包含 "Access-Control-Allow-Origin" 头部字段,浏览器会拒绝访问该资源,从而导致了这个错误。要解决这个问题,你可以考虑以下几种方法:
1. 在服务器端配置允许跨域访问:在服务器端的响应中添加 "Access-Control-Allow-Origin" 头部字段,并设置为允许访问的域名。例如,你可以设置该头部字段为 "http://localhost:8081",以允许来自该域名的跨域请求。
2. 使用代理服务器:将前端请求发送给一个代理服务器,然后由代理服务器向目标服务器发送请求。这样可以绕过浏览器的跨域限制。
3. 调整前端代码:如果你有权限修改前端代码,你可以尝试使用 JSONP 或者 WebSocket 等方法来进行跨域请求。
需要注意的是,跨域访问存在安全风险,因此在设置跨域访问时应该谨慎,并确保只允许来自可信任的域名的请求访问资源。
阅读全文