Angularjs 从服务器获取数据

Angularjs 从服务器获取数据,angularjs,Angularjs,我希望使用工厂从服务器获取数据,然后返回包含该数据的对象: 我的数据位于与index.html相关的以下文件夹data/es/20130709.json中 数据(20130709.json)的格式如下: { "data": [ {"price": 1593.00, "volume": 385}, {"price": 1593.00, "volume": 385}, {"price": 1593.00, "volume": 3

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

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

数据(20130709.json)的格式如下:

{
   "data": [
           {"price": 1593.00, "volume": 385},
           {"price": 1593.00, "volume": 385},
           {"price": 1593.00, "volume": 385}
           ]
}
获取此数据并让factory函数返回包含此数据的对象的最佳方法是什么

多谢各位

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的注入和$http.get(“data/es/20130709.json”)的使用。成功(function(data){})、错误(function(data){});是的,我试过上面的方法。我遇到了一个错误。在这种情况下,你应该发布你得到的错误,也可以使用非缩小的AngularJS,以便对其进行调试,最后一个plunkr或JSFIDLE将有助于查看你的错误并向你展示解决方案。我想这可能是json文件中的错误。如果仍然不起作用,我会用plunker发回。谢谢你的帮助。没问题,我在这里也放了一个来展示一个“工作”的例子,没有找到数据文件,但似乎没有其他东西被破坏:谢谢shaun。json文件中缺少一个逗号。你的解决方案也很有效。啊,是的,没问题,我也有犯很多javascript语法错误的倾向,很高兴你找到了。