如何从角js中的其他json url获取json url

时间:2015-09-27 17:34:08

标签: json angularjs

JSON URL : https://api.github.com/users/odetocode

这个json url包含另一个json数据的url。我怎么能从这个网址中获取另一个网址来获取数据并将其提取到html

  var app = angular.module('ionicApp', ['ionic']);

app.controller('MainCtrl', function($scope, $ionicModal,$http)  {
  var url = "https://api.github.com/users/odetocode?callback=JSON_CALLBACK";
$http.jsonp(url)    .
  success(function(post, status, headers, config) 
  { $scope.data = post; 
   $scope.users= post.data;
  $scope.followers_url= post.data.followers_url;
  }) .
  error(function(data, status, headers, config) { 
  alert("no data found");

   });

});

我如何在角度js中从这个json文件中击中另一个url。如果我想查看有多少关注者和关注此用户。我怎么做。

1 个答案:

答案 0 :(得分:0)

没有像 Json url 这样的东西。你拥有的是一个url,它会在请求时返回json中表示的内容。无论如何,您可以在第一个请求的成功回调中调用第二个URL。如下所示:

$http.jsonp(url).success(function(post, status, headers, config) { 
    // ...
    // you can make a second $http call here,
    // but it is nicer to sequence a call to another 'then' (see below)
})

我建议您使用then代替successerror,这些内容已从角度1.4.4开始弃用:

$http.jsonp(url)
    .then(function (httpResponse) {
        // the body of the http call is in httpResponse.data
        // ...
        return nextObject;
    })
    .then(function (data) {
        // make call to the followers url
    })
    .catch(function (error) {
        // handle errors
    });

第一个然后回调函数(此处为nextObject)返回的对象将是第二个然后回调函数的输入数据。