Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 相同的$http.get请求在处理第二次调用之前自动触发成功回调_Angularjs_Ionic Framework - Fatal编程技术网

Angularjs 相同的$http.get请求在处理第二次调用之前自动触发成功回调

Angularjs 相同的$http.get请求在处理第二次调用之前自动触发成功回调,angularjs,ionic-framework,Angularjs,Ionic Framework,我正在尝试用Ionic框架构建一个简单的混合应用程序 我想创建一个iFite滚动系统,因此我有: .controller('DiscoverCtrl', function (uris, $scope, $cordovaToast, $http, $ionicLoading, $ionicSideMenuDelegate, $ionicScrollDelegate, $ionicPopover, localStorage, $ionicPlatform, helpers) { var loa

我正在尝试用Ionic框架构建一个简单的混合应用程序

我想创建一个iFite滚动系统,因此我有:

.controller('DiscoverCtrl', function (uris, $scope, $cordovaToast, $http, $ionicLoading, $ionicSideMenuDelegate, $ionicScrollDelegate, $ionicPopover, localStorage, $ionicPlatform, helpers) {
   var loadCircuits = function(page_to_load) {
        var page_to_load = page_to_load || 1
        $http.get(uris({pagination: true, per_page: 10, page: page_to_load}).circuits.discover, {timeout: 20000})
        .success(function(response, status, headers, config) {
            alert("success")
             angular.forEach(response.circuits, function (circuit) {
                $scope.cards.push(circuit);
                // console.log(circuit.description)
              });
             $scope.next_page = response.pagination.next_page;
        })
        .error(function(data, status, headers, config) {

            $ionicLoading.hide();
            // called asynchronously if an error occurs
            // or server returns response with an error status.
             $cordovaToast.showLongBottom('Sory, request failed:' + status).then(function(success) {
                // success
              }, function (error) {
                // error
              });
        });
    }

    loadCircuits();

    // Load more data
    $scope.loadMoreData = function() {
        alert("loadMore")
        loadCircuits($scope.next_page);
    }
});
以及:


但我面临以下问题:

第一次调用
loadCircuits()
,正常触发
success
回调。第二次(即调用
$scope.loadMoreData()
)时,在实际执行$http.get请求之前会触发成功回调…我不明白为什么

角度版本:1.4.3


谢谢您的帮助。如果对同一个URL使用相同的参数,HTTP调用被缓存,所以在您的情况下,参数可能没有改变,我会考虑登录下一页。

您还可以强制不使用缓存

cache: false

在$HTTP请求CONFIG

< P> $HTTP调用如果它们是为相同参数的URL而被缓存的,那么在您的情况下,参数可能没有改变,我会考虑登录下一页。

您还可以强制不使用缓存

cache: false

在$http请求配置

中,当参数不变时,响应会被缓存,为
$http
查找
cache:false
选项,检查您的
$scope是否可能重复。下一页
可能不会像您预期的那样更新感谢您的帮助@maurycy。添加
缓存:false
解决了问题。Th当参数不变时,响应会被缓存。请为
$http
查找
cache:false
选项,检查您的
$scope是否可能重复。下一页可能不会像您预期的那样更新感谢您的帮助@maurycy。添加
cache:false
解决了问题。