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 15:12:34 浏览: 161
解决方案 ‘Access-Control-Allow-Origin’ header in the response must not be the wildcard ‘*’
5星 · 资源好评率100%
这个错误的原因是响应头中的 "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();
});
```
请注意,这种设置会限制跨域请求的来源,因此在生产环境中建议更加谨慎地设置该头部。
阅读全文