Angularjs 从服务器获取数据
我希望使用工厂从服务器获取数据,然后返回包含该数据的对象: 我的数据位于与index.html相关的以下文件夹data/es/20130709.json中 数据(20130709.json)的格式如下: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
{
"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语法错误的倾向,很高兴你找到了。