另一个请求的AngularJS $ http请求对象

时间:2015-01-26 19:09:20

标签: javascript json angularjs

很抱歉令人困惑的标题,基本上我有一个看起来像这样的json文件指向其他位置:

{
  "link": [
    {
      "href": "some-external-resource",
      "title": "services-path"
    }
  ]
}

我真正的问题是让对象的href不能异步加载到Angular服务中。以下是我对上述json文件的请求:

var servicesPath = $http({
    url: 'resource-directory.json',
    method: "GET"
    }).success(function(data){
        return $filter('filter')(data.link, {title: "services-path"})[0].href;
    });
    console.log(servicesPath);

我知道返回的是我想要的,但是控制台日志返回标准的“然后,捕获,最后,成功,错误”对象函数,这意味着数据在我需要时不存在。如何处理我的请求,以便变量包含信息?

1 个答案:

答案 0 :(得分:0)

由于您有异步调用,因此在调用完成(成功)后将返回该值

$http({
    url: 'resource-directory.json',
    method: "GET"
}).success(function(data){
    console.log('response data', data);
    var theHref = $filter('filter')(data.link, {title: "services-path"})[0].href;
    console.log('theHref', theHref); // value shows here
}).error(function(errorResp){
    console.log('error');
});