angular服务方法从后端返回200个代码,但出错

zd287kbt  于 2021-06-17  发布在  Mysql
关注(0)|答案(0)|浏览(192)

我正在使用一个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]


我做错什么了?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题