5

Ho creato una risorsa che riceve i record dal servizio di restituzione come testo normale. Angolare crea una matrice di ogni carattere dalla risposta. Ad esempio, se le risposte di riposo 20, angolare renderà la matrice [2,0]. Posso ripararlo senza trasformare la risposta o usando $http?La risorsa angolare con tipo di risposta text/plain crea sempre una serie di stringhe

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

Così come si sta chiamando il metodo di conteggio sulla risorsa? – GPicazo

+0

Non vedo nulla in ['defaultHttpResponseTransform'] (https://github.com/angular/angular.js/blob/master/src/ng/http.js#L129) che trasformerebbe la tua stringa in un array. Dovrai mostrare il tuo codice nel punto in cui chiami il metodo della risorsa e gestisci la risposta – Phil

risposta

7

angolare ha difficoltà a recuperare una lista di stringhe con $resource. Alcune opzioni che avete include (suggerimento due sono quello che probabilmente si desidera a causa di vincoli nella tua domanda) ...

  1. Optando per sfruttare il servizio $http invece

  2. Return è la tua risposta in un oggetto avvolto come come { 'collection': [20, 40, 60] }

  3. Trasforma la risposta e l'accesso attraverso una proprietà definita ad es. data.collection. Un esempio per trasformare la vostra risposta potrebbe includere ...


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