Angular服务方法从后端返回200条代码,但出错了

时间:2018-12-13 01:50:13

标签: mysql angular

我正在使用以以下方式工作的API ... 要从后端获取数据,您可以发送一个POST请求,并向其传递reqType='fetch'以及类似这样的SQL语句。

{
  reqType: 'fetch',
  test: 'SELECT * FROM table_name'
}

在我的数据库中,我有两个表,一个称为位置,另一个称为国家,每个位置都属于一个国家。位置表通过外键引用,国家名称设置为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,然后我要使用该结果过滤通过国家/地区返回的位置列表。这一切都很好。参数已成功获取。
由于我无法进入的原因,我无法选择使用JOINS。

返回component.ts文件...
我已经成功注入了服务,并且在组件中有一个方法可以调用服务方法fetchLocations(country)来尝试获取相关位置...

private getLocations(country) {
  return this.myService.fetchLocations(country).subscribe(res => {
    this.locations = res;
  }
}

从网址中获取了参数之后,我然后在ngOnInit()内部调用该方法并传入该国家/地区。

this.getLocations(this.country);

但是,这将返回错误...

Backend returned code 200, body was [Object Object] 

The console log 我在做什么错了?

0 个答案:

没有答案