我正在使用 expo 开发一个 React Native 项目。 在App中,有多个http请求。 现在,当我输入控制台命令“expo start”时,项目运行良好(它从后端获取数据)。 但是当我将项目构建到APK中后,出现了一个错误“TypeError:网络请求失败”。 原因是什么?
否则,我会使用邮递员和浏览器检查网址。
代码如下:
const baseUrl = 'http://example.com/admin/';
const postData = async(url, data) => {
console.log(data);
return fetch(`${baseUrl}${url}`, {
method: "POST",
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
credentials: "include",
body: JSON.stringify(data)
});
}
postData('api/login', { ...userInfo })
.then((response) => response.json())
.then(result => {
console.log(result);
let data = result;
if(data.state == 200){
setUserInfo({ email: '', password: '' });
setProfile(result);
}else {
updateError(data.msg, setError);
}
})
.catch(error => {
console.log(error);
alert(error)
});
网址运行良好。 后端是 codeigniter 并已部署。 所以,我检查了 androidmanifest 文件的互联网权限。
请将http更改为https
const baseUrl = 'https://example.com/admin/';
同样的错误你修复了吗?