从服务器获取数据

时间:2013-07-09 18:20:48

标签: angularjs

我想使用工厂从服务器获取数据,然后返回包含该数据的对象:

我的数据位于以下文件夹data / es / 20130709.json中,相对于index.html。

数据(20130709.json)采用以下格式:

{
   "data": [
           {"price": 1593.00, "volume": 385},
           {"price": 1593.00, "volume": 385},
           {"price": 1593.00, "volume": 385}
           ]
}

获取此数据并使工厂函数返回包含此数据的对象的最佳方法是什么。

谢谢。

1 个答案:

答案 0 :(得分:1)

angular.module("myModule", []).service("myService", function($http){
    var service = {   data:[],
                      getData:function(){
                          $http.get("data/es/20130709.json").success(function(returnedData){service.data = returnedData});
                      }
                  };
    service.getData(); //calling to populate data as soon as possible

    return service;
}).controller("MyCtrl", function($scope, myService){
    $scope.scopeData = {};
    $scope.$watch( function () { return myService.data; }, function ( data ) {
      // handle it here. e.g.:
      $scope.scopeData = data;
    });
});

HTML

<body ng-app="myModule">
    <div ng-controller="MyCtrl"></div>
</body> 

还有一个小提琴手: http://jsfiddle.net/5HayJ/