Angularjs - 资源回报承诺

时间:2017-08-02 15:15:54

标签: javascript angularjs angular-promise angular-services angular-components

请记住,我是AngularJS的初学者。我按照angularjs网站上的教程,尝试将那些东西应用到我自己的项目中。 我正在尝试使用$ resource从我从API获取的json中获取数据,如下所示:

CategoryService:

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服务器?我如何以Json格式从API中检索数据?

由于

1 个答案:

答案 0 :(得分:0)

  

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

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