2017-02-16 10 views
0

Я новичок в угловых JS. У меня есть один контроллер (файл .js), в котором я написал функцию, чтобы сделать вызов http get back-end. Как показано ниже:Как добавить динамический параметр запроса в HTTP получить URL-адрес в Angular JS?

   $http({ 
       url: "services/rest/1.0/project/employeeDetails", 
       method: 'GET', 
       headers: config, 
       transformResponse: function (data) { 
        var x2js = new X2JS(); 
        var json = x2js.xml_str2json(data); 
        return json; 
       } 
      }).success(function (response) { 
       alert("success for account details with response:"+response); 
       if (response && response.siteDetailsList.errorCode == 0) 
        $scope.accountdetails = response; 
      }); 

Сейчас проблема заключается в том, что мне нужно добавить параметр два запроса на мой URL, который я упоминал в выше фрагменте кода, так что окончательный URL будет выглядеть следующим образом:

services/rest/1.0/project/employeeDetails ? param1=world & param2=hello 

Это param1 и значение param2, которое я получаю из текстового поля ввода HTML-файла. Как вы добавляете динамический параметр запроса к этому URL-адресу?

+0

Я думаю, майкке один угловой, когда вы ставите его как параметры, и определяете его GET –

+0

Взгляните на http://stackoverflow.com/questions/18910054/how-to-pass-parameters-to- http-in-angularjs –

+0

Возможный дубликат [Как передать параметры в $ http в angularjs?] (http://stackoverflow.com/questions/18910054/how-to-pass-parameters-to-http-in-angularjs) – georgeawg

ответ

1

Вы можете использовать params конфигурации свойства:

$http({ 
     url: "services/rest/1.0/project/employeeDetails", 
     method: 'GET', 
     headers: config, 
     params: { 
      param1: someValue, 
      param2: anotherValue 
     }, 
     transformResponse: function (data) { 
      var x2js = new X2JS(); 
      var json = x2js.xml_str2json(data); 
      return json; 
     } 
    }).success(function (response) { 
     alert("success for account details with response:"+response); 
     if (response && response.siteDetailsList.errorCode == 0) 
      $scope.accountdetails = response; 
    }); 
0
var obj = 
{ 
    param1:"world", 
    param2:"hello" 
} 

$http.post("services/rest/1.0/project/employeeDetails", obj) 
.then(function (response) 
{ 
     return response`enter code here`; 
},`function (error) 

{ Обратный звонок; }); `

0

Я решил проблему. Это очень просто. Мы можем изменить $ URL, как этот способ тоже:

$http({ 
     url: "services/rest/1.0/project/employeeDetails?param1="+value+"&param2="+value", 
     method: 'GET', 
     headers: config 
     } 

Используя отдельное свойство «PARAM» немного сложнее, потому что параметр упорядочиваются в алфавитном порядке по умолчанию, так что нам нужно написать код для предотвращения сортировки, если мы хотим, чтобы параметр чтобы появиться в нашем желаемом порядке.

В любом случае, Спасибо за ваши быстрые ответы. :)