Javascript 反应本机获取数据
我在获取数据方面有问题。我的朋友创建了RESTAPI。 这是我的乐趣:Javascript 反应本机获取数据,javascript,reactjs,react-native,fetch,Javascript,Reactjs,React Native,Fetch,我在获取数据方面有问题。我的朋友创建了RESTAPI。 这是我的乐趣: const AnyCors = `https://cors-anywhere.herokuapp.com/`; const urlAllBus = `http://207.185.72.111:15430/stops?size=15`; fetchBusStop = () => { return new Promise((resolve, rejects) => { fetch(AnyCors
const AnyCors = `https://cors-anywhere.herokuapp.com/`;
const urlAllBus = `http://207.185.72.111:15430/stops?size=15`;
fetchBusStop = () => {
return new Promise((resolve, rejects) => {
fetch(AnyCors+urlAllBus)
.then((result) => {
if (!result.ok) throw result.json();
return result.json();
})
.then((result) => {
console.log(result);
resolve(result);
})
.catch((error) =>
error.then((body) => {
console.log('Bad', body);
rejects(body);
}),
);
});
};
我用react native创建了一个应用程序。当我只使用URLLBUS时,我的虚拟机工作正常。问题在于物理机器。当我尝试在chrome中使用URLLBUS的乐趣时,我遇到了CORS的问题,所以我使用了AnyCors+URLLBUS,一切正常。但在虚拟机和物理机中,这些解决方案都不起作用。我不知道我应该怎么做您朋友的API应该通过在其响应中添加一个
访问控制允许源代码:
标题来接受CORS,以允许任何网站访问它。他们还可以通过将标题设置为特定站点的基本URL来限制对特定站点的访问,如access Control Allow Origin:http://example.com
如果API是基于express的,我强烈建议使用该包,因为它只需进行单行更改
否则,请告诉他们阅读有关CORS的更多信息:)该问题应在服务器程序上解决。不在客户端。你知道服务器程序有什么问题吗?你的服务器应该接受cors