from origin 'http://localhost:8080' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.
时间: 2023-08-25 11:12:34 浏览: 46
这个错误的原因是响应头中的 "Access-Control-Allow-Origin" 头部包含了多个值,但只允许有一个值。在你的情况下,响应头中的 "Access-Control-Allow-Origin" 头部的值为 "*", "*", 这是不合法的,因为该头部只能有一个值。
要解决这个问题,你需要确保 "Access-Control-Allow-Origin" 头部只包含一个值。如果你想允许任何来源的请求访问你的资源,可以将该头部的值设置为 "*"。例如,在 Express.js 中,你可以使用以下代码设置 "Access-Control-Allow-Origin" 头部:
```javascript
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
next();
});
```
如果你想限制跨域请求的来源,可以将该头部的值设置为允许的域名。例如,如果你只想允许 "http://example.com" 的请求访问你的资源,可以将该头部的值设置为 "http://example.com":
```javascript
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "http://example.com");
next();
});
```
请注意,这种设置会限制跨域请求的来源,因此在生产环境中建议更加谨慎地设置该头部。
相关问题
为什么出现from origin 'http://localhost:8080' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.
这个问题是由于服务器端在响应头部中设置了重复的 "Access-Control-Allow-Origin" 头部所导致的。
CORS(跨域资源共享)是浏览器的一种安全策略,用于限制跨域请求,防止恶意攻击。在进行跨域请求时,浏览器会发送一个 OPTIONS 请求,询问服务器是否允许跨域请求。服务器在响应 OPTIONS 请求时需要设置 "Access-Control-Allow-Origin" 头部,用于指定允许跨域请求的来源。
在这个问题中,服务器端在响应头部中设置了两个 "Access-Control-Allow-Origin" 头部,分别为 "*" 和 "*"。这是不合法的,因为 "Access-Control-Allow-Origin" 头部只能设置一个值。浏览器检测到这个问题后,就会阻止跨域请求,并报出这个错误。
要解决这个问题,服务器端需要在响应头部中只设置一个 "Access-Control-Allow-Origin" 头部。如果你想允许任何来源的请求访问你的资源,可以将该头部的值设置为 "*",如下所示:
```javascript
res.setHeader('Access-Control-Allow-Origin', '*');
```
如果你想限制跨域请求的来源,可以将该头部的值设置为允许的域名。此外,还需要注意避免在响应头部中设置重复的头部,以确保跨域请求的安全性。
只有一个http一个jsp页面,显示from origin 'http://localhost:8080' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.怎么解决
这个问题是由于CORS(跨域资源共享)策略导致的,浏览器会阻止跨域请求。要解决这个问题,你需要在服务器端设置响应头,添加Access-Control-Allow-Origin头部,指定允许跨域请求的来源域名。
如果你使用的是Java开发的服务器,可以在响应头中添加以下代码:
```
response.setHeader("Access-Control-Allow-Origin", "*");
```
其中,*代表允许所有的来源域名访问,你也可以将其替换为特定的域名,例如:
```
response.setHeader("Access-Control-Allow-Origin", "http://www.example.com");
```
这样,就可以解决这个问题了。
相关推荐
![crx](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![crx](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)