5

Utworzony zasób, który otrzymuje rekordy, liczy się od reszty usług jako zwykły tekst. Angular tworzy tablicę każdego znaku z odpowiedzi. Na przykład, jeśli reszta odpowie: 20, kątowa spowoduje utworzenie tablicy [2,0]. Czy mogę to naprawić bez transformowania odpowiedzi lub korzystania z $http?Zasób kątowy z tekstem/tekstem typu odpowiedzi zawsze tworzy tablicę łańcuchów

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

Więc jak ty wywołanie metody liczenia na zasób? – GPicazo

+0

Nie widzę niczego w ['defaultHttpResponseTransform'] (https://github.com/angular/angular.js/blob/master/src/ng/http.js#L129), które zamieniłoby twój ciąg znaków w szyk. Będziesz musiał pokazać swój kod, w którym zadzwonisz do metody zasobów i obsłużysz odpowiedź – Phil

Odpowiedz

7

kątowa ma trudności pobierania listy ciągów z $resource. Niektóre opcje masz include (sugestia dwie są co prawdopodobnie chcą ze względu na ograniczenia w swoim pytaniu) ...

  1. Rezygnacja wykorzystać usługę $http zamiast

  2. Powrót swoją odpowiedź w zawiniętej takiego obiektu jako { 'collection': [20, 40, 60] }

  3. Przekształć odpowiedź i dostęp przez zdefiniowaną właściwość, np. data.collection. Przykładem przekształcając swoją odpowiedź mogłaby to ...


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