我正在尝试通过fetch将外部数据加载到react-native移动应用程序中。我尝试了不同的来源,大多数情况下我收到一条错误消息,说无法找到网络。 例如,我尝试过以下两个来源。
http://facebook.github.io/react-native/movies.json(不起作用) https://raw.githubusercontent.com/facebook/react-native/master/docs/MoviesExample.json(有效)
componentDidMount(){
var REQUEST_URL = 'http://facebook.github.io/react-native/movies.json';
fetch(REQUEST_URL).then((response) => {
console.log(response);
if(response.ok) {
console.log('Response OK');
} else {
console.log('Network response was not ok.');
}
})
.catch((error) => {
console.log('There has been a problem with your fetch operation: ' + error);
})
.done();
}
我正在MacBook上的IOS模拟器中进行测试。
我还尝试从我的WordPress网站获取json数据,并安装了最新版本的WP REST API插件。这也返回了一个找不到网络错误。
我真的被困在这个。
答案 0 :(得分:2)
这是由Apple的security rule引起的,http协议受到限制(您正在发送http请求)。
如果您需要在http协议中进行通信,则有两种解决方案(均与info.plist相关):
1:就像快速启动项目一样,添加服务器的域名:
2:添加新规则:“允许任意加载”。不要忘记将值设置为“YES”。