[英]Angular2 http.get from external API
I can't figure out how to rewrite this AngularJS $http.get to Angular2: 我无法弄清楚如何将此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 }
This how the url with parameters looks like: 这个带参数的url如何:
http://example.com?operation=getEmployeeData&data= {"params":{"firstName":"John","lastName":"Doe","empType":"Administrative","orgUnit":"Management","lang":"Eng"}} http://example.com?operation=getEmployeeData&data= {“params”:{“firstName”:“John”,“lastName”:“Doe”,“empType”:“Administrative”,“orgUnit”:“Management”, “郎”: “工程”}}
How I do it in Angular2? 我是如何在Angular2中做到的? Thank you! 谢谢!
In Angular2 Http.GET is very similar to AngularJS but for passing url parameters you must use URLSearchParams
inside @angular/http
package. 在Angular2中,Http.GET与AngularJS非常相似,但是为了传递url参数,必须在@angular/http
包中使用URLSearchParams
。
What you want do: 你想做什么:
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()
...
This is the example for post/get. 这是post / get的例子。 just use method as post or get its depend on your requirement. 只需使用方法作为帖子或取决于您的要求。
you need to replace the methodname with your method name which you are calling. 您需要将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.