我正在尝试从服务器访问并打印控制台窗口中的特定数据。由于某种原因,它会像
一样引发错误期望0个类型参数,但得到1个
以及get<ProductData>
的问题原因,您能纠正我什么地方吗?
注意:如果我访问完整的数据而没有键入响应,则可以正常工作。
interface ProductData {
userId: string;
id: number;
title: string;
}
private productUrl:string = "https://jsonplaceholder.typicode.com/todos/1";
ngOnInit() {
this.http.get<ProductData>(this.productUrl).subscribe(data => {
console.log(data.userId);
})
}
答案 0 :(得分:3)
HttpClient具有可用于提供响应类型的通用方法。 Http没有。
该错误表示不希望使用通用参数,并且http不是HttpClient的实例;可能是Http的实例。
如果应用程序使用Angular 4.3或更高版本,则Http应替换为HttpClient。如果应该使用Http,则应该转换响应,这是HttpClient和Http之间的一些区别之一:
return this.http.get(uri, { params })
.map(res => <ProductData[]>res.json());