Angularjs jsonp获取数据

时间:2015-03-02 18:34:34

标签: angularjs angularjs-scope jsonp angularjs-http

成功调用中的console.log将返回我想要的数据但是当我将它放入someValue时,它在成功函数之外变为未定义

我能够成功获取数据的唯一方法是成功调用,如果我将其推入数组然后它变成一个笨重的多维数组。我知道必须有一种更简单的方法来获取我丢失的数据。

$scope.someValue;

$http.jsonp(url) 
  .success(function(data){
     console.log("Data = ", data);
     //this returns the data I'm looking for

     $scope.someValue = data;
 });

console.log("Data = ", $scope.someValue);
// this returns undefined

2 个答案:

答案 0 :(得分:0)

使用$ watch,因为在调用成功之前,数据最初是未定义的。

$scope.$watch('someValue',function(newVal){
       if(typeof newVal !='undefined'){
         $scope.someValue =newVal
       }
})

答案 1 :(得分:0)

尝试$scope.someValue = data.data;

不确定你的json返回是什么样的,但通常它会有一个数据对象,所以你必须使用你的函数返回的数据和json代码中的数据对象。