如本问题的标题所述,我遇到了使用fetch方法的CORS问题。这是我尝试过的解决方案。显然没有人有效。
实际控制台错误:
请求时没有'Access-Control-Allow-Origin'标头 资源。因此不允许来源“http://localhost:3000” 访问。如果不透明的响应满足您的需求,请设置请求 模式为'no-cors'以获取禁用CORS的资源。
我试图通过我的Express服务器解决问题。我在建立路线之前就配置了这个。
import cors from 'cors';
app.use(cors({
origin: '*',
}));
也试过这种方式。
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
客户端服务。设置{mode: 'cors'}
对象。
fetch(requestUrl, {mode: 'cors'}).then((response) => {
return response.json();
}).then((restaurants) => {
resolve(restaurants);
}).catch((err) => {
reject(err);
});
此时,我迷路了。我只是想从谷歌地图api获取数据。任何帮助将不胜感激。