首页 > 解决方案 > Angular 12 http请求返回未定义的参数

问题描述

In my service.ts file, I am calling a method that makes an http request to the following API: 用户/1111/状态/2222 Where 1111 is the userId and 2222 is the stateId.

service.ts 方法调用

public getParams(userId: number, stateId: number): Observable<MyModel> {
   return this.get(`users%2F${userId}final-rosters%2F${stateId}`)
     .pipe(map(response => response.body));
 }

在我的 component.ts 文件中。我这样调用方法:

public getUser(
    userId: number,
    stateId: number,
  ): void {
    this.myService.getParams(userId, stateId)
      .subscribe(result => {
        this.myModel.next(result);
        console.log('GET DATA ', result);
      });
  }

在我的检查工具中,我得到以下信息:http: //10.1.9.141 :9999/api/elections/undefined/final-rosters/undefined

我在将实际 url 路径转换为采用 2 个参数的路径时遇到了一些麻烦。

标签: angulartypescript

解决方案


尝试正确定义您的服务 URL:

public getParams(userId: number, stateId: number): Observable<MyModel> {

   const configUrl = 'users/${userId}/final-rosters/${stateId}'
   return this.get<MyModel>(configUrl), { observe: 'response' });

 }

推荐阅读