通过 Angular JS 获取外部 json 文件
Fetch an external json file through Angular JS
我正在尝试基于 AngularJS https://github.com/kmaida/angular-faceted-search
实施分面搜索
由于该示例基于 JS 中包含的数据集,因此我尝试远程加载 JSON 文件。 (顺便说一下,angularJS 中的菜鸟总数)。
在example中,控制器被定义为:
myApp.controller('MainCtrl', function($scope, Helpers) {
还有2个助手defined
myApp.factory('Helpers', function() {...
我正在尝试在第三个助手中注入 $http,我的代码:
,
//below line 30 in https://github.com/kmaida/angular-faceted-search/blob/master/app.js
fetchData: function (){
var resultjson=[]
$http.get('/api/data.json').success(function(data) {
resultjson=data
console.log(data);
});
console.log(resultjson);
return resultjson;
}
新定义的变量resultjson在success函数中有一个值,但超出那个点就没有值了。
任何人都可以帮助我正确获取数据吗?感谢支持。
如果您想从 $http
接收数据,则必须使用 promises。现在,在从 api 端点接收到值之前,您正在 returning resultjson。
你应该return承诺,一旦承诺被解决,价值就会在承诺中。
由于 $http return 的承诺,您可以直接 return 它,而无需将其包装在另一个承诺中。
fetchData: function (){
return $http.get('/api/data.json');
}
并且您可以访问控制器中的数据并分配给范围:
Helpers.fetchData().then(function(data){
$scope.items = data.data;
})
我正在尝试基于 AngularJS https://github.com/kmaida/angular-faceted-search
实施分面搜索由于该示例基于 JS 中包含的数据集,因此我尝试远程加载 JSON 文件。 (顺便说一下,angularJS 中的菜鸟总数)。
在example中,控制器被定义为:
myApp.controller('MainCtrl', function($scope, Helpers) {
还有2个助手defined
myApp.factory('Helpers', function() {...
我正在尝试在第三个助手中注入 $http,我的代码:
,
//below line 30 in https://github.com/kmaida/angular-faceted-search/blob/master/app.js
fetchData: function (){
var resultjson=[]
$http.get('/api/data.json').success(function(data) {
resultjson=data
console.log(data);
});
console.log(resultjson);
return resultjson;
}
新定义的变量resultjson在success函数中有一个值,但超出那个点就没有值了。 任何人都可以帮助我正确获取数据吗?感谢支持。
如果您想从 $http
接收数据,则必须使用 promises。现在,在从 api 端点接收到值之前,您正在 returning resultjson。
你应该return承诺,一旦承诺被解决,价值就会在承诺中。
由于 $http return 的承诺,您可以直接 return 它,而无需将其包装在另一个承诺中。
fetchData: function (){
return $http.get('/api/data.json');
}
并且您可以访问控制器中的数据并分配给范围:
Helpers.fetchData().then(function(data){
$scope.items = data.data;
})