下面的报错怎么办localhost/:1 Access to XMLHttpRequest at 'http://localhost:9090/User' from origin 'http://localhost:8080' 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.
时间: 2023-10-16 09:44:04 浏览: 67
[js]轻便的XMLHttpRequest应用函数:downloadUrl()
这个报错是因为浏览器遵循了同源策略,阻止了从一个源加载的Web应用程序向不同源的REST API发送请求。出现这个问题是因为你的Web应用程序在localhost:8080上运行,而REST API在localhost:9090上运行,浏览器发现这两个不同的源,因此阻止了跨域请求。解决这个问题有两种方法:
1. 在服务器端添加CORS响应头。
在服务器端配置响应头,允许从不同的源访问资源。具体而言,需要在服务器端返回的响应头中添加Access-Control-Allow-Origin字段,值为允许访问资源的源。
2. 使用代理服务器
另一种解决方法是使用代理服务器。在这种情况下,Web应用程序将向代理服务器发送请求,代理服务器将请求转发到REST API服务器。由于代理服务器与Web应用程序在同一个源上运行,因此同源策略不会阻止请求。
阅读全文