![](/img/trans.png)
[英]Http GET Request from NodeJS to external API with http.get()
[英]Angular2 http.get from external API
我无法弄清楚如何将此AngularJS $ http.get重写为Angular2:
$scope.toggle = function() {
$http.get('http://example.com?operation=getEmployeeData', {
params: {
data: JSON.stringify({
params: {
firstName : 'John',
lastName : 'Doe',
empType : 'Administrative',
orgUnit : 'Management',
lang : 'Eng'
}
})
}
}).then(function(data) { $scope.staff = data }
这个带参数的url如何:
http://example.com?operation=getEmployeeData&data= {“params”:{“firstName”:“John”,“lastName”:“Doe”,“empType”:“Administrative”,“orgUnit”:“Management”, “郎”: “工程”}}
我是如何在Angular2中做到的? 谢谢!
在Angular2中,Http.GET与AngularJS非常相似,但是为了传递url参数,必须在@angular/http
包中使用URLSearchParams
。
你想做什么:
let params: URLSearchParams = new URLSearchParams();
params.set("data",JSON.stringify({
params: {
firstName : 'John',
lastName : 'Doe',
empType : 'Administrative',
orgUnit : 'Management',
lang : 'Eng'
}
}));
//Make the call and return an observable
return this.http.get(SomeVar.MY_URL, params)
.toPromise()
...
这是post / get的例子。 只需使用方法作为帖子或取决于您的要求。
您需要将methodname替换为您正在调用的方法名称。
private url = "http://example.com";
methodname(resource1: String,resource2: String,resource3: String,resource4:
String,resource5: String){
let body = JSON.stringify({"firstName":resource1,"lastName":resource2,
"empType":resource3,"orgUnit":resource4,"lang":resource5});
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers, method: "post/get" });
return this.http.get/post(this.url,body,options)
.map(this.extractData)
.catch(this.handleError);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.