我有一张cordova pp 我在控制器中调用post方法 它在浏览器中工作,但在构建和调试apk中我得到错误
ionic.bundle.js:23826 POST http://somedomain.com/api/account/validation net :: ERR_CACHE_MISS
我的角度控制器
.controller('splashCtrl', function ($scope, $state,$http, userManager, serverConfig) {
//check if the user exist else it will redirect to login
$scope.authenticate = function () {
$http.post(serverConfig.serverUrl + '/api/account/validation').success(function (res,status) {
if (status == '200') {
//check if the user need to change password
if (window.localStorage.getItem('shouldChangePassword') && window.localStorage.getItem('shouldChangePassword')=='true') {
$state.go('setPassword');
return;
}
$state.go('tab.category');
}
}).error(function (data, status) {
console.log(status)
})
}
$scope.authenticate();
})
任何建议?
答案 0 :(得分:5)
此错误表示您无法访问互联网。有两种方法可以通过更改这些文件来提供此访问权限
<强> 1.AndroidManifest.xml 强>
添加以下权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.NETWORK_ACCESS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<强> 2。 config.xml中强>
为此你需要这个插件
cordova plugin add cordova-custom-config
添加此插件后,在config.xml中添加这些行
<platform name="android">
<config-file target="AndroidManifest.xml" parent="/*">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permissions.NETWORK_ACCESS" />
<uses-permission android:name="android.permissions.ACCESS_NETWORK_STATE" />
</config-file>
</platform>
你可以尝试一下。希望它可以帮到你。谢谢
答案 1 :(得分:0)
如果在删除插件或安装插件后遇到此问题,则此解决方案可能对您有用。
cordova platform remove android
cordova platform add android
即使您尚未安装或删除任何插件,尝试使用它也无害。