如何在组件中获取清晰的 http-request 数据?
Posted
技术标签:
【中文标题】如何在组件中获取清晰的 http-request 数据?【英文标题】:How get clear http-request data in component? 【发布时间】:2018-05-14 02:42:37 【问题描述】:服务从后端获取 json-data:
constructor(private http: Http) ;
getUsers(): Observable<any>
return this.http.get('http://127.0.0.1:8000/app_todo2/users_list');
;
在组件中,处理这个数据:
ngOnInit()
this.getAllUsersData();
private getAllUsersData(): void
this.usersService.getUsers().subscribe(
data =>
this.allUsersData = JSON.parse(data.json());
console.log(this.allUsersData);
)
;
但我需要在服务中处理这些数据。我需要获取组件清除数据:
private getAllUsersData(): void
this.usersService.getUsers().subscribe(
data =>
this.allUsersData = data;
console.log(this.allUsersData);
)
;
请帮帮我。
【问题讨论】:
你的问题不清楚 请阅读angular.io/guide/http(或者,如果您出于某种原因必须使用已弃用的客户端,请阅读v2.angular.io/docs/ts/latest/guide/server-communication.html)。另请注意,.json()
会为您解析响应,因此 JSON.parse(data.json())
没有任何意义。
angular.io/tutorial/toh-pt6#httpclientget-returns-response-data
【参考方案1】:
映射您的服务数据:
getUsers(): Observable<any>
return this.http.get('http://127.0.0.1:8000/app_todo2/users_list')
.map(data => data.json());
然后:
private getAllUsersData(): void
this.usersService.getUsers().subscribe(
data =>
this.allUsersData = data;
console.log(this.allUsersData);
)
;
【讨论】:
以上是关于如何在组件中获取清晰的 http-request 数据?的主要内容,如果未能解决你的问题,请参考以下文章