![](/img/trans.png)
[英]Angular Why is the length of this HTTP requests response Array undefined?
[英]Angular http response.length returning undefined
我正在尝试读取 http 响应的 .length 属性,但未定义。 这是我从后端得到的回复
{
"departments": [
{
"id": 1,
"department_name": "Account",
"department_code": "001"
},
{
"id": 2,
"department_name": "Sales",
"department_code": "002"
}
]
}
我的http请求;
getDepartments(): Observable<Department[]> {
const url = `${this.BASE_URL}/tenant/departments`;
return this.http.get<Department[]>(url, requestOptions);
}
这是我的部门界面
export interface Department {
id: number;
department_name: string;
department_code : string;
}
然后在我的组件中;
getDepartments(){
this.adminService.getDepartments().subscribe(
(response) => {
this.departments = response;
}
)
}
我已经尝试像这样映射响应;
const url = `${this.BASE_URL}/tenant/departments`;
return this.http.get<Department[]>(url, requestOptions).pipe(
map(response => response.departments)
);
但是后来我得到了 Department[] 类型上不存在财产部门
我将不胜感激任何帮助。
你需要这样做:
const url = `${this.BASE_URL}/tenant/departments`;
return this.http.get<{departments:Department[]}>(url, requestOptions).pipe(
map(response => response.departments)
);
所以您的回复类型实际上与您的回复相匹配
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.