2013-07-09 37 views
0

我想提取使用工廠從服務器獲取數據,然後返回其中包含數據的對象:獲取數據

我的數據位於以下文件夾中的數據/ ES/20130709.json相對到index.html。

的數據(20130709.json)是採用以下格式:

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

什麼是獲取這些數據,並有工廠函數返回包含此數據對象的最佳方法。

謝謝。

+0

你嘗試過什麼顯示創建服務,爲$注入HTTP和使用$ http.get(「數據。/es/20130709.json「)成功(功能(數據){})誤差(函數(數據){})。 – shaunhusain

+0

是的,我試過以上。我得到一個錯誤。 – aozkan

+1

在這種情況下,您應該發佈您收到的錯誤,也可以使用非縮小的AngularJS以便進行調試,最後,plunkr或jsfiddle將幫助您查看錯誤並向您顯示解決方案。 – shaunhusain

回答

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/

+0

謝謝肖恩。我在json文件中缺少一個逗號。您的解決方案也可以。 – aozkan

+0

啊,沒問題,我仍然傾向於製作大量javascript語法錯誤,很高興您能找到它。 – shaunhusain