【发布时间】:2018-01-09 21:50:43
【问题描述】:
请记住,我是 AngularJS 的初学者。我遵循了 angularjs 网站上的教程,并尝试将那里的东西应用到我自己的项目中。 我正在尝试使用 $resource 从我从 API 获取的 json 中获取数据,如下所示:
分类服务:
angular.module('core.category')
.factory('Category', ['$resource', '$http',
function($resource, $http) {
return $resource('/api/categories', {}, {
query: {
method: 'GET',
isArray: true
}
});
}
]);
转到 url URL/api/categories 以这种格式返回 JSON:
[{"id":1,"name":"name","desc":"desc"}]
在一个组件中,我使用它来检索 json:
self.categories = Category.query();
console.log(self.categories);
我没有以 json 格式获取数据,而是在控制台中获取:
[$promise: Promise, $resolved: false]
我试过这个:
Category.query().$promise.then(function(data) {
console.log(data);
});
得到了这个:
[$promise: Promise, $resolved: true]
为什么不获取json中的数据?可能是因为我正在运行一个 php 服务器吗?以及如何从 API 中检索 Json 格式的数据?
谢谢
【问题讨论】:
-
它将返回一个稍后会解析的承诺/对象,因为从服务器获取数据需要一段时间。这里没有问题。
-
@deceze 谢谢,但我真的不明白你在说什么。我究竟如何得到它以便控制台记录 json?
-
阅读“使用”下的“退货”部分:docs.angularjs.org/api/ngResource/service/$resource#usage
-
@deceze 再次感谢,但我已经尝试了那里的示例,但它们似乎不起作用。
-
如果你在浏览器中打开
URL/api/categories,你会得到什么?
标签: javascript angularjs angular-promise angular-services angular-components