vue怎么解决has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple value
时间: 2023-10-19 09:34:50 浏览: 101
解决方案 ‘Access-Control-Allow-Origin’ header in the response must not be the wildcard ‘*’
5星 · 资源好评率100%
在Vue中解决CORS(跨域资源共享)问题,可以使用代理服务器或配置后端服务器的响应头。
1. 代理服务器方法:
- 在Vue项目的根目录下创建一个`vue.config.js`文件(如果已存在则直接编辑)。
- 在`vue.config.js`文件中添加以下内容:
```javascript
module.exports = {
devServer: {
proxy: {
'/api': { // 将 '/api' 替换为你的API请求前缀
target: 'http://api.example.com', // 替换为你的API请求地址
changeOrigin: true,
pathRewrite: {
'^/api': '' // 如果你的API请求地址没有统一的前缀,则可以移除这一行
}
}
}
}
};
```
- 将上述配置中的`target`替换为你要请求的API地址。
- 启动Vue开发服务器时,所有以`/api`开头的请求都会被代理到目标服务器上,解决跨域问题。
2. 后端服务器配置响应头方法:
- 对于没有使用代理服务器的情况,可以在后端服务器上配置响应头来解决CORS问题。
- 为响应头中的`Access-Control-Allow-Origin`设置合适的值,以允许Vue应用访问后端API。
- 在后端服务器的响应头中添加以下内容:
```
Access-Control-Allow-Origin: [允许访问的域名]
```
- 将`[允许访问的域名]`替换为允许访问你的API的域名,如`http://localhost:8080`。
- 这样设置后,Vue应用就可以通过浏览器访问后端API了。
以上是常用的两种解决CORS问题的方法,根据你的具体情况选择适合你的方法来解决问题。
阅读全文