科尔多瓦网:: ERR_CACHE_MISS

use*_*525 4 cordova

我有一个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)

你可以试试 。希望对您有帮助。谢谢


Dav*_*eye 5

如果您在删除插件或安装插件后遇到此问题,那么此解决方案可能适合您。

cordova platform remove android
cordova platform add android
Run Code Online (Sandbox Code Playgroud)

即使您没有安装或删除任何插件,尝试它也没有坏处。