javascript - 从响应中获取数组而不是对象

标签 javascript node.js angular typescript express

我试图从数据库中仅获取特定项目,然后将其显示在表中。

这就是我的 sql 查询的样子

public async aliasesListByDomain(req: Request, res: Response): Promise<void> {
    const { domain } = req.params;
    const aliases = await pool.query('SELECT * FROM virtual_aliases INNER JOIN virtual_domains ON virtual_aliases.domain_id = virtual_domains.id WHERE virtual_aliases.domain_id = ?', [domain]);
    if (aliases.length > 0) {
        res.json(aliases);
    } else {
        res.status(404).json({ message: "Alias doesn't exists" });
    }
}

这是我的 Aliases.service

 getAliasesByDomain(domain: string): Observable<Alias> {
    return this.http.get(`${this.API_URI}/aliases/aliaseslistbydomain/${domain}`);
  }

这是我的组件

 getAliasesByDomain() {
    const token = this.getToken();
    let user;
    let domain;
    console.log(token);
    if(token){
      user = token.split('.')[1];
      user = window.atob(user);
      user = JSON.parse(user);
      domain = user.domain;

    }
    this.aliasesService.getAliasesByDomain(domain).subscribe(
      res => {
        this.alias = res;
      },
      err => console.error(err)
    );
  }

和组件 html

<tr *ngFor="let aliases of alias;">

我的问题是我遇到了错误:

AliasesListComponent.html:17 ERROR Error: Cannot find a differ supporting object 'to sa aliases: [object Object],[object Object]' of type 'string'. NgFor only supports binding to Iterables such as Arrays.

因为我的响应是Object对象而不是数组。我该如何解析这个?

最佳答案

如果你的回调给你一个数组,你可以像这样在服务中指定它

 getAliasesByDomain(domain: string): Observable<Alias[]> {
    return this.http.get<Alias[]>(`${this.API_URI}/aliases/aliaseslistbydomain/${domain}`);
  }

关于javascript - 从响应中获取数组而不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59159035/

相关文章:

javascript - 使用 window.location 设置样式

node.js - Dockerfile:如何在 Node alpine 镜像上正确安装 bcrypt?

web - 使用 Angular 2+ 检测输入焦点

javascript - 如何在javascript中将两个计算函数合并在一起

javascript - jquery 自动完成下拉菜单是透明的

javascript - 读取具有 "error"属性的元素并发出警报

javascript - 在 Nodejs 中循环写入多个文件

node.js - token 无效或提供的状态 token 无效

angular - Angular 中惯用的条件 TypeScript 编译

jquery - Angular 2简单饼图不起作用