TypeError:网络请求失败android
Posted
技术标签:
【中文标题】TypeError:网络请求失败android【英文标题】:TypeError: Network request failed android 【发布时间】:2018-06-11 20:25:23 【问题描述】:我在 RN 中有以下代码:
postToServer()
const requestBody = 'pin=1&status=false';
return fetch('https://192.168.10.200/writeStatus.php',
method: 'POST',
headers: 'Content-Type': 'application/x-www-form-urlencoded',
body: requestBody
).then((response) => response.json())
.then((responseJson) =>
console.log(responseJson);
);
我也有以下 php 文件:
<?php
header('Access-Control-Allow-Origin: *');
$data = json_decode(file_get_contents('php://input'), true);
print_r($data);
?>
当我运行 postToServer 时,我收到:
可能的未处理的 Promise Rejection (id: 0): TypeError: Network 请求失败类型错误:网络请求失败 在 XMLHttpRequest.xhr.onerror (http://192.168.10.248:19001/node_modules/expo/AppEntry.bundle?platform=android&dev=true&minify=false&hot=false&assetPlugin=P:\sandbox\MojDom1\node_modules\expo\tools\hashAssetFiles:7854:16) 在 XMLHttpRequest.dispatchEvent (http://192.168.10.248:19001/node_modules/expo/AppEntry.bundle?platform=android&dev=true&minify=false&hot=false&assetPlugin=P:\sandbox\MojDom1\node_modules\expo\tools\hashAssetFiles:12942:35) ...(这里剩下一些行 - 我对链接有限制) 在 MessageQueue.callFunctionReturnFlushedQueue (http://192.168.10.248:19001/node_modules/expo/AppEntry.bundle?platform=android&dev=true&minify=false&hot=false&assetPlugin=P:\sandbox\MojDom1\node_modules\expo\tools\hashAssetFiles:2122:12)
大家有什么建议吗?
【问题讨论】:
您在哪个操作系统(android 或 ios)中或在模拟器或真实设备中遇到此问题? 此调试器消息来自 Win10 上的 Chrome。我使用 exp 在我的 android 7.0 Huawei P10 上运行应用程序 【参考方案1】:为错误添加catch
方法:
postToServer()
const requestBody = 'pin=1&status=false';
return fetch('https://192.168.10.200/writeStatus.php',
method: 'POST',
headers: 'Content-Type': 'application/x-www-form-urlencoded',
body: requestBody
).then((response) => console.log(response))
).catch(e => console.log(e));
【讨论】:
捕获是输出此错误TypeError: Network request failed android
我只是添加了一个catch
来正确处理错误。 TypeError: Network request failed android
问题可能来自服务器,因为请求无法连接成功。
应用发送DELETE
请求成功,服务器收到请求并处理,但.catch()
仍然触发。这只发生在 android 模拟器和一个特定的 DELETE
请求上
不太确定 react native,但可能需要权限?
我不这么认为,因为另一个 DELETE
请求顺利通过并且 API 服务器没有抱怨。以上是关于TypeError:网络请求失败android的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:网络请求失败(使用 ReactNative 和 Django)
获取 TypeError:从物理设备 POST 到我的节点服务器时网络请求失败
可能的未处理承诺拒绝(id:1):TypeError:网络请求失败
未处理的承诺拒绝:TypeError:网络请求在expo react native 中失败
react-native 错误:[未处理的承诺拒绝:错误:获取 Expo 令牌时遇到错误:TypeError:网络请求失败。]
未处理的承诺拒绝:TypeError:网络请求失败 - 在 React Native / Expo 中将 Base64(视频/mp4)转换为 Blob