来自带字符串数组的ngResource请求的结果无效

时间:2013-05-02 17:12:29

标签: json angularjs

我定义了以下ngResource:

angular.module('LicenseServices', ['ngResource']).
    factory('License', function ($resource) {
        return $resource('api/licenses/:id', { id: '@id' }, {
            //...
            'getLicenseTypes': { method: 'GET', url: 'api/licenses/types', isArray: true }
        });
    });

GET请求的结果是:

["Trial","Standard"]

但是在控制器中使用资源:

$scope.licenseTypes = License.getLicenseTypes()

我得到以下结果:

licenseTypes: 
[ undefined, { 
0: S
1: t
2: a
3: n
4: d
5: a
6: r
7: d
 } ]

我正在使用AngularJS 1.1.4和Chrome。

我的资源定义有什么问题?

1 个答案:

答案 0 :(得分:4)

使用$resource这样的数据结构真的没什么意义。问题是$resource对于使用所有HTTP谓词的RESTful端点非常有用。为了方便起见,AngualarJS使用便捷方法扩展了传入的对象($ save,$ delete等)。如果您返回原语,则没有扩展空间,$resource的一个主要好处就消失了。

简而言之:如果您刚刚获取数据$资源是一种过度的IMO,请坚持使用$http