首页 > 解决方案 > 如何控制台记录响应的内容?

问题描述

我有以下内容vehicle.service.ts

getVehicleById(id: number): Observable<Vehicle> {

const url = `${this.vehicleUrl}?vehicleId=${id}`;

console.log(`GET vehicle details url: ${url}`);

return this.http.get<Vehicle>(url).pipe(
    tap(_ => console.log(`getVehicleById(): fetched vehicle id = ${id}`)),
    catchError(this.handleError<Vehicle>(`vehicle id = ${id}`))
);
}

.tap() 中的控制台输出被写入。.handleError() 未命中 - 这很好,因为它告诉我服务调用成功。

问题是我的组件 HTML 没有填充从服务调用返回的 JSON。如何输出 GET 请求的结果,以便我可以看到我实际从服务中返回的内容。我将值粘贴url到 Postman 中,我得到了预期的结果,所以它必须是 Angular 项目中的一些东西。我只需要找出问题所在,验证来自服务的数据似乎是一个不错的起点。

如何将 GET 请求的结果输出到 console.log()?

标签: angularangular6

解决方案


您需要在订阅中执行控制台日志以记录从服务返回的 JSON 数据。

在调用服务的组件中,你应该有这样的东西。

this.vehicleService.getVehicleById(1).subscribe(data => console.log(data));

推荐阅读