2016-05-25 3 views
0

Я использую этот веб-сервис Rest из моего приложения AngularJS, и я использую $ resource для передачи параметров и получения моих данных.

У меня есть определенный сервис, который может принимать один и тот же параметр несколько раз, как это в моей Почтальоной сессии:

/myService/Accounts?acctId[]=7029&acctId[]=3324 

Я попытался передать сгенерированную строку в мои $ методов запроса ресурсов заполнителя, но она заканчивается избегая всех моих скобок и не работая.

Я также попытался не использовать заполнитель и передать один и тот же параметр дважды, он не терпит неудачу, но он принимает последнее значение, чтобы оно не работало.

$scope.resultsColl = rfpService.searchAccountName.query({ 

     acctName: $scope.accountName, 
     acctRole: acctRoleParams, 
     acctRole: acctRoleParams2 


    }); 

Надеюсь, у кого-то была такая же проблема? Есть идеи?

+0

Вы видите этот ответ http://stackoverflow.com/questions/28115354/how-to-add-multiple-same-name-query-parameters-in-angular-http? – NBeydon

ответ

0

Из исследования, которое я сделал на других постах, похоже, что вы не можете динамически генерировать с использованием $ resource. Мой рабочий раствор, чтобы переключиться на $ HTTP, таким образом, я мог бы динамически генерировать несколько acctRole [] Params:

var acctRoleParams = ''; 

    if(corporate === true) 
    { 
    acctRoleParams = '&acctRole[]=C'; 
    }; 

    if(smallBiz === true) 
    { 
    acctRoleParams += '&acctRole[]=B'; 
    }; 

    $http.get("https://myRestServiceUrl/services/customer/accounts?acct=" + $scope.account + acctRoleParams) 
     .success(function (data, status, headers, config) { 
     $scope.gridOptions.data = data.data.detailsByAcct; 
    }) 
     .error(function (data, status, headers, config) { 
     showToast("An error occurred during the request"); 
    }) 
     .finally(function() { 
     $scope.isGridLoading = false; 
     }); 

Я хотел отправить это в случае, если кто-то борется, чтобы сделать то же самое.