我试图从后端获取数据,但我得到了一个奇怪的错误。如果有人知道如何修复,请帮助。
我的代码
async componentDidMount() {
const url = 'http://localhost:8080/zoom';
const response = await fetch(url);
const data = await response.json();
console.log(data)
}错误:
Access to fetch at 'http://localhost:8080/zoom' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.发布于 2020-04-30 20:28:58
这是因为您的源域没有被列入白名单。而不是添加额外的cors包,而且cors有时可能不起作用,所以你可以将你选择的域名列入白名单,这意味着你给了你后端的整个访问权限。
app.use(function (req, res, next) {
var allowedOrigins = ["http://localhost:3000"];
var origin = req.headers.origin;
if(allowedOrigins.indexOf(origin) > -1){
res.setHeader('Access-Control-Allow-Origin', origin);
}
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});https://stackoverflow.com/questions/61521764
复制相似问题