我正在使用反应本机提取API从https://api.github.com/users/{username}
获取JSON数据,但请求失败并显示以下错误消息。React本机提取请求失败
"TypeError: Network request failed {stack: (...), message: 'Network request failed'}".
相信对于HTTPS,有时你NSURLAuthenticationChallenge。我不知道如何实现这一点。任何人都有这个想法吗?
我正在使用反应本机提取API从https://api.github.com/users/{username}
获取JSON数据,但请求失败并显示以下错误消息。React本机提取请求失败
"TypeError: Network request failed {stack: (...), message: 'Network request failed'}".
相信对于HTTPS,有时你NSURLAuthenticationChallenge。我不知道如何实现这一点。任何人都有这个想法吗?
你试过XMLHttpRequest
?
作为证明in the doc,https
由XMLHttpRequest
支持:
var request = new XMLHttpRequest();
request.onreadystatechange = (e) => {
if (request.readyState !== 4) {
return;
}
if (request.status === 200) {
console.log('success', request.responseText);
} else {
console.warn('error');
}
};
request.open('GET', 'https://mywebsite.com/endpoint.php');
request.send();
在您发布的同一文档中,它表明您可以使用Fetch进行https操作 –
你能提供你的fetch
代码段?
一般来说,fetch
声明是这样写的:
fetch(requestURL)
.then((response) => response.json())
.then((data) => {
this.setState({data: data});
})
.catch((error) => console.log(error))
.done();
捕获错误将允许该程序没有崩溃进行。
在我的情况下,问题不在代码中。没有网络时我开始模拟器。在登录到仿真器上的无线网络点网络后,仍然无法正常工作。我重新启动了模拟器 - 一切正常。
所以:
连接到网络。
重新启动模拟器。
如果没有帮助,请检查您的代码。
我也有这个问题React Native Fetch Request Fails
非常频繁。
在我的情况下,来自API调用的响应大约为5kb,因此我从API响应中删除了不必要的数据,并将结果大小减小到1kb左右,并开始工作。
因此,尝试限制您从API请求的数据。
如果没有代码片段很难说,但你可以尝试在你正在使用的url的末尾添加'/'。也使用'#{用户名}'完成插值。 – GoldenBeet
您能否提供一些最低限度的代码来重现此错误?获得它的一种方法是尝试“获取”一个无效的URL,但没有办法说明是什么导致了你的情况,而不显示一些代码。 –