And*_*rex 10 mobile android react-native axios react-native-android
这对我来说是一个长期存在的问题,我根本找不到解决方案。
在我的本机项目(react-native-cli)中,我使用 axios 包向服务器发送请求。但是当我用我的安卓手机进行测试时,它给出了 [错误:网络错误]。用模拟器,没问题。
我确定这不是后端问题,因为我已经用多台服务器进行了测试。而且我也使用了 fetch 但得到了同样的错误。
这里是版本信息。
"axios": "^0.19.0",
"react": "16.9.0",
"react-native": "0.61.5",
Run Code Online (Sandbox Code Playgroud)
有时,它也适用于安卓手机。这个问题是最大的谜,我受了很长时间的苦。
遇到过这个问题的人,请给我活着。感谢您的仔细阅读。
有时,即使使用 android 模拟器也无法正常工作。但是在删除原始模拟器并创建新模拟器后,它可以正常工作。
const serverUrl = "https://server.com";
axios.post(serverUrl + "/api/candidates/login", {
"email": this.state.email ,
"password": this.state.password
}, {
headers: {
'Content-Type': 'application/json'
}
}).then((response) => {
console.log(response.data);
}).catch((error) => {
console.log(error);
})
Run Code Online (Sandbox Code Playgroud)
尝试在 AndroidManifest.xml 中添加以下代码
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)
我认为这是 http 和 https 请求的问题。所以要启用 https 请求,请尝试以下操作:
实现这一点的简单方法是将此属性用于您AndroidManifest.xml
允许http
所有请求的位置:
android:usesCleartextTraffic="true"
Run Code Online (Sandbox Code Playgroud)
面临同样的问题并通过执行以下操作解决了它:
1- 找到您机器的 IP 地址。
2- 用您的 IP 地址替换您的本地主机地址**
replace ==> 'http://localhost:8000/api/download'
with ==> 'http://192.120.16.108:8000/api/download'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16124 次 |
最近记录: |