Angular 类型';HttpEvent<;名称[]>;不可分配给类型';名称[]和#x27;
这是我的代码:Angular 类型';HttpEvent<;名称[]>;不可分配给类型';名称[]和#x27;,angular,typescript,angular-httpclient,Angular,Typescript,Angular Httpclient,这是我的代码: export interface act { id: number; name: string; } getAll(令牌:任意):无效{ this.http.get('http://localhost:4200/test,代币) .订阅( (val)=> this.list=val ); } 我在this.list=val上得到以下错误: 类型“HttpEvent”不可分配给类型“act[]”。类型“HttpSentEvent”缺少类型“act[]”中的以下属性:长度
export interface act {
id: number;
name: string;
}
getAll(令牌:任意):无效{
this.http.get('http://localhost:4200/test,代币)
.订阅(
(val)=>
this.list=val
);
}
我在this.list=val上得到以下错误:
类型“HttpEvent”不可分配给类型“act[]”。类型“HttpSentEvent”缺少类型“act[]”中的以下属性:长度、pop、push、concat等
我试着在google上搜索,在stack上阅读,但没有成功。我发现了类似的问题,但有些没有解决,有些则不同
希望您能帮助我,提前谢谢。您正在尝试发送请求正文,但获取的请求没有正文。HttpClient.get()
的第二个参数不是主体,而是一组影响方法返回内容的选项
所以你应该使用POST或PUT而不是GET
您还应该避免使用any
类型,以使您和编译器更容易理解所有内容(如果您使用正确定义的接口而不是any
,则会提供更集中的错误消息)。您尝试发送请求正文,但获取的请求没有正文。HttpClient.get()
的第二个参数不是主体,而是一组影响方法返回内容的选项
所以你应该使用POST或PUT而不是GET
您还应该避免使用any
类型,以使您和编译器更容易理解(如果您使用正确定义的接口而不是any
,则会提供更集中的错误消息)。val
的类型是什么?令牌应该是什么?不要使用any
类型,对您和编译器来说,一切都会更容易理解。val类型应该是act[]。Token是一个json,但它不会影响问题,我将删除它以防止混淆。Token对问题影响很大。正是它的存在导致了这个编译错误。您编辑的代码将不再有错误。GET请求没有正文。get()的第二个参数不是主体。这是一组影响方法返回内容的选项(除其他外)。如果您需要在正文中发送内容,那么您应该使用post或put。val的类型是什么?token
应该是什么?不要使用any
类型,对您和编译器来说,一切都会更容易理解。val类型应该是act[]。Token是一个json,但它不会影响问题,我将删除它以防止混淆。Token对问题影响很大。正是它的存在导致了这个编译错误。您编辑的代码将不再有错误。GET请求没有正文。get()的第二个参数不是主体。这是一组影响方法返回内容的选项(除其他外)。如果你需要在体内发送一些东西,那么你应该使用post或put。
public list!: act[];
getAll(token:any): void{
this.http.get<act[]>('http://localhost:4200/test', token)
.subscribe(
(val) =>
this.list = val
);
}