2016-05-13 6 views
0

Ich habe eine Ressource, mit der ich ich dynamische URL erstellen möchte. Die URL enthält Abfrage String-Parameter wie folgt:

/path?ids=1&ids=2&ids=23 

Hier ist, was ich versucht habe. Ich nenne das durch ein Array von Zeichenketten auf diese Ressource wie

['1', '2', '23'] 
vorbei

Das Problem ist, dass der Wert an die addParameters Methode übergeben wird das Array nicht aber die Zeichenfolge ‚: Ids‘.

Ist das überhaupt möglich?

Übrigens weiß ich über den offensichtlichen Fehler in der Zeile "queryString + = '& ids =' + id;"

define([], function() { 
    'use strict'; 

    var addParameters = function (ids) { 
     var queryString = ''; 
      _.each(ids, function (id) { 
       queryString += '&ids=' + id; 
      }); 
     return queryString; 
    } 

    var resource = function ($resource) { 
     return $resource(
      '/path?' +addParameters(':ids'), {}, 
      { 
       query: 
       { 
        method: 'GET', 
        isArray: true 
       } 
      } 
     ); 
    }; 
    resource.$inject = ['$resource']; 
    return resource; 
}); 
+0

, die auch eine ungültige URL '/ path & ids = x ...' – Ankh

+0

Ich weiß darüber erzeugen würden - das ist nicht das Problem - ich mit diesem Problem umgehen kann, ich will nur, dass diese Art wissen der Sache ist möglich und wie. –

+0

https://github.com/angular/angular.js/pull/1921 - kann helfen – Ankh

Antwort

1

sagen Lassen Sie Ihre Ressource-Name-Test ist. ?

Test.query({ids: [1, 2, 3]}).$promise.then(function(res... etc