我正在使用一个api,它的工作方式如下。。。要从后端获取数据,需要发送post请求并向其传递 reqType='fetch'
再加上像这样的sql语句。。
{
reqType: 'fetch',
test: 'SELECT * FROM table_name'
}
在我的数据库中,我有两个表,一个叫做locations,另一个叫做countries,其中每个位置都属于一个国家。位置表通过外键引用,该外键是设置为unique的国家名称。显然我在简化这个。
然后,我有一个服务,它尝试根据位置所属的国家从表中获取所有位置,如下所示。。
public fetchLocations(country) {
return this.http.post<MyModel>(this.myUrl, {
reqType: 'fetch',
test: `SELECT * FROM locations WHERE fk_country='${country}'`
}).pipe(
retry(3),
catchError(this.handleError)
);
}
在我的客户端中,我通过如下url访问特定视图。。。
/section/:countryName/:packageId
在component.ts文件中,我已导入 ActivatedRoute
以及 ParamMap
从 '@angular/router
然后我抓取里面那些参数的值 ngOnInit()
就像这样。。。
this.activeRoute.paramMap.subscribe((params: ParamMap) => {
this.packageId = params.get('packageId');
this.country = params.get('countryName');
});
这个 packageId
引用另一个表的id,该表存储一系列其他内容,包括 locationId
. 包裹也属于特定的国家。因此,我从数据库中提取包并获取 locationId
从他们返回的结果,然后我想用它来过滤基于国家返回的位置列表。一切正常。正在成功获取参数。
由于我无法进入的原因,在中使用连接不是我的选择。
回到原点 component.ts
文件。。。
我已经成功地注入了我的服务,在我的组件中,我有一个调用服务方法的方法 fetchLocations(country)
试图找回相关地点。。。
private getLocations(country) {
return this.myService.fetchLocations(country).subscribe(res => {
this.locations = res;
}
}
在从url中获取参数之后,我将调用其中的方法 ngOnInit()
从乡下经过。
this.getLocations(this.country);
但是,这将返回一个错误。。。
Backend returned code 200, body was [Object Object]
我做错什么了?
暂无答案!
目前还没有任何答案,快来回答吧!