我是角度JS的新手。我有一个控制器(.js文件),我在其中编写了一个函数来对后端进行http get调用。如下所示:
$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;
});
现在的问题是我需要在我的网址中添加两个查询参数,我在上面的代码片段中提到过,所以最终的网址将如下所示:
services/rest/1.0/project/employeeDetails ? param1=world & param2=hello
我从HTML文件的输入文本框中获取的param1和param2值。 知道如何将动态查询参数附加到此URL吗?
答案 0 :(得分:2)
您可以使用AngularJS的$httpParamSerializer
服务。
https://docs.angularjs.org/api/ng/service/$httpParamSerializer
对象:
var obj = {
param1:"world",
param2:"hello"
}
使用httpParamSerializer:
$httpParamSerializer(obj)
返回:
param1=test¶m2=world
答案 1 :(得分: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;
});
答案 2 :(得分: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)
{ 返回错误; });`
答案 3 :(得分:0)
我解决了这个问题。它非常简单。我们也可以这样修改$ url:
$http({
url: "services/rest/1.0/project/employeeDetails?param1="+value+"¶m2="+value",
method: 'GET',
headers: config
}
使用单独的" param"属性有点棘手,因为默认情况下参数按字母顺序排序,所以如果我们希望参数以我们想要的顺序出现,我们需要编写代码来防止排序。
最后,谢谢您的及时回复。 :)