Angular 角度获取web api数据(在浏览器网络选项卡中,它以200 ok响应获取数据),但数据未显示
angular fetch web api数据,在浏览器网络选项卡中,它以200 ok响应获取数据,但数据不显示。表也将行作为数据源行,但每次它都给出空值。以下是我的代码:Angular 角度获取web api数据(在浏览器网络选项卡中,它以200 ok响应获取数据),但数据未显示,angular,Angular,angular fetch web api数据,在浏览器网络选项卡中,它以200 ok响应获取数据,但数据不显示。表也将行作为数据源行,但每次它都给出空值。以下是我的代码: /////////// Model.ts: export interface Menue { Id:number; Name:string; Pric
/////////// Model.ts:
export interface Menue
{
Id:number;
Name:string;
Price:number;
Details:string;
}
////////// Menue.Service.ts:
export class MenueService {
Url='http://localhost:61362/api/Menue';
constructor(private http:HttpClient) { }
getMenue():Observable<Menue[]>{
return this.http.get<Menue[]>(this.Url);
}
}
///////////// Menue.Component.ts:
public menues=[];
ngOnInit() {
this.service.getMenue().subscribe(data => this.menues = data);
}
////////// Menue.html:
<tr *ngFor="let men of menues">
<td>{{men.Id}}</td>
<td>{{men.Name}}</td>
<td>{{men.Price}}</td>
<td>{{men.Details}}</td>
</tr>
//Model.ts:
导出接口菜单
{
Id:编号;
名称:字符串;
价格:数量;
详细信息:字符串;
}
//////////Menue.Service.ts:
导出类菜单服务{
Url='1〕http://localhost:61362/api/Menue';
构造函数(私有http:HttpClient){}
getMenue():可观察{
返回this.http.get(this.Url);
}
}
/////////////Menue.Component.ts:
公共菜单=[];
恩戈尼尼特(){
this.service.getMenue().subscribe(data=>this.menues=data);
}
//////////Menue.html:
{{men.Id}
{{men.Name}
{{men.Price}}
{{男人细节}
我的英语很差,但是试试这个
/*
*在这项服务中
*/
从'rxjs/operators'导入{map};
getMenue():可观察{
返回this.http.get(this.Url).pipe(map(resp=>{
返回响应;
}));
}
}
我希望能帮上忙
getMenue(){
return this.http.get(this.Url).pipe(map( resp =>{
console.log("inside service",resp)
return resp;
}));
}
}
如果url为空,则尝试这种方式,该url不返回数据,如果包含一些信息,则可以查看结构
你能在Chrome中显示选项卡网络响应吗?我明白了,后端无响应数组正确无误,答案或响应与此类似
Food
Array(n)// number of results
0:{ id: 3, name: "100 TK dinner", price: 100, … }, 1:{ id: 1005, name: "val", price: 90, … },2: { id: 1006, name: "d", price: 9, … }
简单的解决方案是将此信息放入数组中,当您创建新的对象响应时,将此响应推入数组中,以便正确构建数组
有可能在后端看到estructure响应。很抱歉,我错了,您在另一个nvaigator中看到了console.log(),它不是Chrome,例如Mozilla 你的回答是正确的 只修这个。 你的回答是大写的
<tr *ngFor="let men of menues">
<td>{{men.Id}}</td> // {{men.id}}
<td>{{men.Name}}</td> // {{men.name}}
<td>{{men.Price}}</td> // {{men.price}}
<td>{{men.Details}}</td> // no see in your response, but i can imagine that exists in the response
</tr>
{{men.Id}/{{men.Id}
{{men.Name}/{{men.Name}
{{men.Price}/{{men.Price}}
{{men.Details}}//在您的响应中看不到,但我可以想象,在响应中存在这种情况
/*
*在你的回答中是小写的
*/
对象{id:1,名称:“65 TK午餐”,价格:65,…}
对不起,我的英语很差。
我希望能提供帮助。您在浏览器devtool中看到任何错误吗?不,没有错误@Ansumana您可以在subscribe方法中进行控制台操作。记录(数据)并查看您是否实际获得了数据吗?是的,我,我在console@Ansumani中获取数据,返回与空数据相同的结果我在console中获取数据,但不显示在html页面您可以将响应放在console中,请和接口或类菜单中。我将响应放在console中,我在console中获取数据,但不显示数据您可以将响应放在控制台中,您可以看到,您何时使用此服务?如果您收到此信息,是否可以共享?所以我看到了解决这个问题的最佳方法。我在控制台中以以下格式获取数据: 0:对象{id:1,名称:“65 TK午餐”,价格:65,…} 1:对象{id:2,名称:“120 TK午餐”,价格:120,…} 2:对象{id:3,名称:“100 TK晚餐”,价格:100,…} 3:对象{id:1005,名称:“val”,价格:90,…} 4:对象{id:1006,名称:“d”,价格:9,…} 5:对象{id:1007,名称:“c”,价格:20,…} 6:Object{id:1008,name:“zxxcf”,price:120,…}我只是不知道该怎么做。下面是我的方法:getMenue(){返回this.http.get(this.url)。订阅(data=>{this.menue=data as[],console.log(data);});}谢谢,它可以工作。我没有看到太多的响应是在这种情况下
<tr *ngFor="let men of menues">
<td>{{men.Id}}</td> // {{men.id}}
<td>{{men.Name}}</td> // {{men.name}}
<td>{{men.Price}}</td> // {{men.price}}
<td>{{men.Details}}</td> // no see in your response, but i can imagine that exists in the response
</tr>