5

Tôi đã tạo tài nguyên nhận bản ghi được tính từ dịch vụ còn lại dưới dạng văn bản thuần túy. Góc làm cho một mảng của mỗi ký tự từ câu trả lời. Ví dụ: nếu phần còn lại trả lời 20, góc sẽ làm cho mảng [2,0]. Tôi có thể sửa chữa nó mà không cần chuyển đổi phản hồi hoặc sử dụng $http không?Tài nguyên góc với kiểu văn bản trả lời/đồng bằng luôn tạo một mảng các chuỗi

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' 
      } 
     } 
    } 
]); 
+1

Vì vậy, làm thế nào bạn gọi phương thức đếm trên tài nguyên? – GPicazo

+0

Tôi không thấy bất kỳ điều gì trong ['defaultHttpResponseTransform'] (https://github.com/angular/angular.js/blob/master/src/ng/http.js#L129) sẽ biến chuỗi của bạn thành mảng. Bạn sẽ cần hiển thị mã của mình nơi bạn gọi phương thức tài nguyên và xử lý phản hồi – Phil

Trả lời

7

Góc khó lấy được danh sách các chuỗi có $resource. Một số tùy chọn bạn có bao gồm (đề nghị hai là những gì bạn có thể muốn do hạn chế trong câu hỏi của bạn) ...

  1. Từ chối để tận dụng các dịch vụ $http thay

  2. Return trả lời của bạn trong một đối tượng bao bọc như vậy dưới dạng { 'collection': [20, 40, 60] }

  3. Chuyển đổi phản hồi và truy cập thông qua một thuộc tính được xác định data.collection. Một ví dụ cho chuyển trả lời của bạn có thể bao gồm ...


return $resource('/rest/records/:id', {}, { 
    count: { 
     method:'GET', 
     transformResponse: function (data) { 
      return { collection: angular.fromJson(data) } 
     [...] 
Các vấn đề liên quan