我怎样才能做一个http get请求并传递一个json对象
这是我的 json 对象
{{firstname:"Peter", lastname:"Test"}
我想在 http 请求中传递此对象以获取匹配人员列表。
这怎么可能?此示例仅显示一个带有 json 结果的简单 get 请求。我该如何修改它?
//Component:
person:Person;
persons:Person [];
....
//Whre can I pass the person, here in the service??
getMatchedPersons(){
this.httpService.getMatchedPersons().subscribe(
data => this.persons = data,
error => aller(error)
);
);
//SERVICE
//pass parameters?? how to send the person object here?
getMatchedPersons(){
return this.http.get('url').map(res => res.json());
}
原文由 hamras 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于纯 JavaScript:
您必须将 json 序列化为参数列表:
并将其附加到 URL,因为
GET
请求没有正文。有几种方法可以将 JSON 转换为 QueryParameters。他们在这个问题中得到解决: Is there any native function to convert json to url parameters?
在那里你可以选择你喜欢的毒药,我的是:
但请注意
GET
请求必须遵守基于 此答案 的 URL 限制,建议保持在 2000 个字符以下以确保安全:使用 Angular2 URLSearchParams
使用将纯 JSON 转换为参数的相同方法,可以使用
URLSearchParams
正如 Рома Скидан 所建议的: