been blocked by CORS policy: No 'Access-Control -Allow-Origin' header is present on the requested resource
时间: 2023-12-01 15:43:40 浏览: 138
CORS(跨源资源共享)是一种安全机制,用于限制从一个源加载的Web应用程序如何与来自不同源的资源进行交互。当浏览器尝试从一个源(域,协议或端口)加载资源时,如果该资源的响应头中没有包含“Access-Control-Allow-Origin”字段,则浏览器会阻止该资源的加载,并显示“has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource”错误消息。
解决此问题的方法有以下几种:
1.在服务器端添加响应头“Access-Control-Allow-Origin:*”,其中*表示允许来自任何源的请求。例如,在Node.js中,可以使用以下代码添加响应头:
```javascript
res.setHeader('Access-Control-Allow-Origin', '*');
```
2.在服务器端添加响应头“Access-Control-Allow-Origin:请求源”,其中请求源是指发出请求的域名。例如,在Node.js中,可以使用以下代码添加响应头:
```javascript
res.setHeader('Access-Control-Allow-Origin', 'http://example.com');
```
3.使用代理服务器将请求转发到目标服务器。例如,在Vue.js中,可以使用vue.config.js文件配置代理服务器:
```javascript
module.exports = {
devServer: {
proxy: 'http://example.com'
}
}
```
阅读全文