【发布时间】:2019-08-19 06:42:21
【问题描述】:
我正在尝试从 mocky 接收一些简单的 json。
React 原生获取函数:
getMemberDomainList = async (name) => {
try {
let response = await fetch('https://5c9cc9ed3be4e30014a7d287.mockapi.io/api/domain', {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
});
let responseJson = await response.json();
return responseJson;
} catch (error) {
console.error(error);
}
}
我已经在 windows 上的 chrome 中测试了地址,它返回了预期的模拟数据。但是当在我的安卓手机上调用这个函数时,我得到了这个错误
来自远程调试器的错误
...\node_modules\react-native\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:2348 TypeError: Network request failed
at XMLHttpRequest.xhr.onerror (...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:4337)
at XMLHttpRequest.dispatchEvent (...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:10760)
at XMLHttpRequest.setReadyState (...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:10511)
at XMLHttpRequest.__didCompleteResponse (...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:10343)
at ...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:10449
at RCTDeviceEventEmitter.emit (...\Libraries\Components\DrawerAndroid\DrawerLayoutAndroid.android.js:11)
at MessageQueue.__callFunction (...\Libraries\ART\ReactNativeART.js:362)
at blob:http://localhost:8081/79251787-d190-4650-8040-23d091c08738:2334
at MessageQueue.__guard (...\Libraries\ART\ReactNativeART.js:312)
at MessageQueue.callFunctionReturnFlushedQueue (...\Libraries\ART\ReactNativeART.js:139)
我还在我的应用程序中运行一个 WebView,它指向一个 Web url,它可以完美加载,所以我确信手机具有互联网权限和访问权限等。
【问题讨论】:
-
可能是因为需要
http...https -
在你的远程调试器中......这是什么
console.error(error); print ? -
远程调试器无法正常工作。但是关于 https 的好点,将尝试另一个模拟服务,看看是否可以解决它
-
切换到 https 模拟 api 似乎有所不同,至少堆栈跟踪看起来有点不同。虽然“网络请求失败”但同样的错误
-
您是否尝试过使用
axios执行相同的api 请求?
标签: android react-native fetch