Javascript Can';t使用fetch API获取数据
我无法使fetch()API正常工作。我有一种强烈的感觉,我在做错事 我有一个运行在端口3005上的简单express服务器,它以json格式返回数据,还有一个运行在端口3000上的react.js客户端 我正在使用Javascript Can';t使用fetch API获取数据,javascript,reactjs,cors,fetch,Javascript,Reactjs,Cors,Fetch,我无法使fetch()API正常工作。我有一种强烈的感觉,我在做错事 我有一个运行在端口3005上的简单express服务器,它以json格式返回数据,还有一个运行在端口3000上的react.js客户端 我正在使用fetch()向http://localhost:3005/api但是我在控制台上收到了这些消息 已阻止跨源请求:同一源策略不允许读取 位于的远程资源。 (原因:缺少CORS标头“访问控制允许原点”) TypeError:尝试获取资源时出现NetworkError 我添加了一个标题,
fetch()
向http://localhost:3005/api
但是我在控制台上收到了这些消息
已阻止跨源请求:同一源策略不允许读取
位于的远程资源。
(原因:缺少CORS标头“访问控制允许原点”)
TypeError:尝试获取资源时出现NetworkError
我添加了一个标题,并通读了类似的问题,但我仍然无法让它工作,我仍然收到相同的消息
我做错了什么?(这是代码)
我在过去多次遇到过这个问题,通常只使用axios。但是这次,我想让
fetch()
工作 您的服务器端点需要支持Access Control Allow Origin标头,而不仅仅是客户端
一般流程如下:
看这个。请特别查看有关飞行前请求的部分。谢谢您的回答。我还没有深入研究提供的资源,但我能够让它工作。这些头应该从服务器发送到客户端,而不是从客户端发送到服务器。
let url = 'http://localhost:3005/api';
fetch(url, {
method: 'GET',
headers:{
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Credentials':true,
'Access-Control-Allow-Methods':'POST, GET'
}
}).then(response => response.json)
.then(data => console.log(data))