2016-10-28 95 views
0

我想從JSON範圍外的JSON獲取國家名稱,但不知怎的,它似乎不通過,我做錯了什麼?我看着$ rootScope,但似乎並沒有太多。原則上很簡單,我想在其他範圍或頁面本身中使用國家/地區名稱作爲變量,也想在Controller.cs(.net)中使用它將其發送到數據庫全局變量的角度局部變量

app.controller('PageController', 
    function ($scope, $http) { 

var analyticsCountry = "default"; 

$.getJSON('//www.geoplugin.net/json.gp?jsoncallback=?', 

function (data) { 
    $scope.testing = data; 
    $scope.testing.country = data.geoplugin_countryName; 
    //console.log($scope.testing.country); 
    analyticsCountry = $scope.testing.country; 
}); 

    console.log(analyticsCountry); 

    $scope.GetTrendingCDsByCountry = function() { 
     $http({ 
      method: 'Get', 
      url: "/CD/GetTrending?id=" + analyticsCountry 

     }) 
      .success(function (data, status, headers, config) { 
       $scope.cds= data; 
      }) 
      .error(function (data, status, headers, config) { 
       $scope.message = 'Unexpected Error'; 
      }); 

    }; 


}); 

回答

0

如果你想在視圖中。只要將它綁定到$scope,你就可以走了。並且@Suren Srapyan表示回調將在保存價值"default"console.log()之後執行。

app.controller('PageController', 
    function ($scope, $http) { 

$scope.analyticsCountry = "default"; 
$scope.GetTrendingCDsByCountry = function() { 
    $http({ 
     method: 'Get', 
     url: "/CD/GetTrending?id=" + $scope.analyticsCountry 

    }) 
     .success(function (data, status, headers, config) { 
      $scope.cds= data; 
     }) 
     .error(function (data, status, headers, config) { 
      $scope.message = 'Unexpected Error'; 
     }); 

}; 

$.getJSON('//www.geoplugin.net/json.gp?jsoncallback=?', 

function (data) { 
    $scope.testing = data; 
    $scope.testing.country = data.geoplugin_countryName; 
    //console.log($scope.testing.country); 
    $scope.analyticsCountry = $scope.testing.country; 
    console.log($scope.analyticsCountry); 
    $scope.GetTrendingCDsByCountry(); 
    }); 

}); 

現在,它會工作,並且很容易在視圖中訪問。

+0

yes我知道如何做到這一點,我怎麼想把它作爲一個變量傳遞,所以我可以在PageController.js中的其他json例程中使用它,而不是在本地使用視圖 –

+0

'$ scope.analyticsCountry'可以很容易地作爲一個變量在你的pageController中訪問。 –

+0

但是從'http'請求執行回調之後。 –