Angularjs - 资源返回承诺



请记住,我是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/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 服务器吗?如何以 Json 格式从 API 检索数据?

谢谢

我已经尝试了与您相同的代码,并且有[资源,$promise: 承诺,$resolved:true](使用 $promise.then 时(首先 资源元素是 {id: 1, name: "name", desc: "desc"}。所以你有 以检查 Web 服务器的实际响应,@yBrodsky假设。

谢谢@yBrodsky和@StanislavKvitash。我已经解决了这个问题。这是我的网络服务器有问题。

最新更新