AngularJS移动导航AJAX呼叫被阻止

AngularJS移动导航AJAX呼叫被阻止,ajax,angularjs,cordova,Ajax,Angularjs,Cordova,我有一个AngularJS应用程序,我正在为iOS应用程序开发Phonegap 该应用程序使用Angular Mobile(ngMobile)和Angular Mobile导航: 加载应用程序时,会出现一个主屏幕,其中包含数据库中的项目列表,供用户查看。这些都是从WebSQL加载的,但在初始加载时应该从API下载 我正在使用AngularJS的$http库进行下载: $http.get( $scope.api_url + '/users/events/?values=' + ha

我有一个AngularJS应用程序,我正在为iOS应用程序开发Phonegap

该应用程序使用Angular Mobile(ngMobile)和Angular Mobile导航:

加载应用程序时,会出现一个主屏幕,其中包含数据库中的项目列表,供用户查看。这些都是从WebSQL加载的,但在初始加载时应该从API下载

我正在使用AngularJS的$http库进行下载:

$http.get(
        $scope.api_url + '/users/events/?values=' + hash,           
        {
            headers: {apihash: hashes.apihash}
        }
    ).success(function(data,status,headers,config){
        // do stuff with response
    }).error(function(data,status,headers,config){
        // log the error
    }); 
我遇到的问题是,这个API请求只有在我点击一个链接并导航到一个新页面后才能完成——这是由angular mobile nav处理的

我可以在主屏幕上停留一分钟,但只要移动到新视图,我就可以在控制台中看到AJAX调用完成。在这个屏幕上也会发生同样的事情,如果我触发一个AJAX调用,我可以等多久就等多久,只要我切换回主屏幕,我就可以在控制台中看到对API的AJAX调用完成

这是我设置的用于导航的代码:

ng-tap="slidePage('/catalogue')"
我的路由提供程序如下所示:

$routeProvider.
        when('/', {
            templateUrl: 'partials/home.html',   
            controller: 'HomeCtrl'
        }).
        when('/catalogue', {
            templateUrl: 'partials/catalogue.html', 
            controller: 'CatalogueCtrl',
        }).
        otherwise({redirectTo: '/'});

路由和移动导航都很好,我可以在视图之间切换,没有问题,但是后台的AJAX被UI阻止或延迟,直到我移动到下一个视图

可能您必须将更改应用到范围

你试过这个吗

    $scope.$apply(function()
    {
       // do stuff with response
    });

也许您必须将更改应用于范围

你试过这个吗

    $scope.$apply(function()
    {
       // do stuff with response
    });

忘了这个问题,你是对的,我没有调用$apply(),我一直在这样做。忘了这个问题,你是对的,我没有调用$apply(),我一直在这样做。