angular - 如何控制台记录响应的内容?
问题描述
我有以下内容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()?
解决方案
您需要在订阅中执行控制台日志以记录从服务返回的 JSON 数据。
在调用服务的组件中,你应该有这样的东西。
this.vehicleService.getVehicleById(1).subscribe(data => console.log(data));
推荐阅读
- security - 将环境变量注入 CI/CD 脚本真的是最佳安全实践吗?
- python - 我如何在 Django 的其他模型中使用 User 模型中的“用户名”作为 id?
- selenium - 如何获取未写出的部分网站
- c# - c#方法中多个丢弃变量的正确格式是什么
- flutter - 颤振错误:即使已安装 CocoaPods 也未安装
- facebook-graph-api - Facebook Graph Api 向评论帖子的用户发送消息
- java - 频率调制:数字信号的算法(Java、Swift 等)
- swift - Vapor - 使用 ID 创建房间会话
- c# - 不确定数据库连接是否存在
- excel - VBA 运行时错误 424,带有用于显示用户窗体但对象存在的命令按钮