Angular里用HttpClient发请求为啥收不到响应数据?
我在Angular组件里用HttpClient调后端接口,请求能发出去,Network面板也看到返回了200和JSON数据,但subscribe里拿不到data,控制台还报错说“Cannot read property ‘xxx’ of undefined”。
我试过直接打印res,发现整个response对象是undefined。是不是要加什么配置?代码大概是这样:
this.http.get('/api/user').subscribe(res => {
console.log(res.name); // 这里报错
});
后端返回的是标准JSON,比如{"name": "Alice", "id": 123},应该没问题啊。
先检查app.module.ts有没有导入:
如果已经导入了,看看有没有自定义拦截器在捣乱,拦截器里记得要return next.handle(req)。实在不行就在get方法里显式指定类型:
this.http.get('/api/user') ,差不多就行。