Angular 响应类型为 text/plain 的资源总是生成一个字符串数组

Angular resource with response type text/plain always makes an array of strings

我将接收来自休息服务的记录计数的资源设为纯文本。 Angular 将答案中的每个字符组成一个数组。例如,如果其余答案 20,angular 将生成数组 [2,0]。我可以在不转换响应或使用 $http 的情况下修复它吗?

var resource = angular.module('resource');
resource.factory('RecordResource', ['$resource',
    function($resource) {
        return $resource('/rest/records/:id', {}, {
            count: {
                method:'GET',
                url: "/rest/records/count",
                isArray: false,
                responseType: 'text'
            }
        }
    }
]);

Angular 难以检索具有 $resource 的字符串列表。您拥有的一些选项包括(由于问题的限制,建议二是您可能想要的)...

  1. 选择利用 $http 服务

  2. Return 您在包装对象中的响应,例如 { 'collection': [20, 40, 60] }

  3. 通过定义的 属性 转换响应和访问,例如data.collection。转换响应的示例包括...


return $resource('/rest/records/:id', {}, {
    count: { 
        method:'GET',
        transformResponse: function (data) {
            return { collection: angular.fromJson(data) }
        [...]