我有一个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();
})
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
小智 7
此错误表示您无权访问互联网。有两种方法可通过更改这些文件来提供此访问权限
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" />
Run Code Online (Sandbox Code Playgroud)
2. config.xml
为此,您将需要此插件
cordova plugin add cordova-custom-config
Run Code Online (Sandbox Code Playgroud)
添加此插件后,在您的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>
Run Code Online (Sandbox Code Playgroud)
你可以试试 。希望对您有帮助。谢谢
如果您在删除插件或安装插件后遇到此问题,那么此解决方案可能适合您。
cordova platform remove android
cordova platform add android
Run Code Online (Sandbox Code Playgroud)
即使您没有安装或删除任何插件,尝试它也没有坏处。
归档时间: |
|
查看次数: |
2822 次 |
最近记录: |