在http get方法中传递参数-角度

时间:2019-06-25 05:07:18

标签: httpclient angular7 http-parameters

我有一个API和身份验证详细信息,如下所示。

url = 'https://example.org/details';
uName = 'abc';
pWord = 'def';  

我通过使用paramsuName被声明为pWord

params = new HttpParams().set(this.uName, this.pWord);  

然后我决定获取所有数据,因此我使用了以下代码。

Data: any = [{
    data: []
  }];
this.http.get(this.url, this.params).subscribe(
    data => {
        // res.setHeader('Access-Control-Allow-Origin', 'http://localhost:4200');
        this.Data = data as unknown as any [];
        console.log(data);
        // return res;
    },
    (err: HttpErrorResponse) => {
        console.log(err.message);
    }
  );  

上面的代码给我一个错误:

  

类型'HttpParams'与类型'{headers没有共同的属性: {[header:string]:字符串|串[]; };观察?参数?:HttpParams | {[参数:字符串]:字符串|串[]; }; reportProgress ?:布尔值; responseType ?:“ json”; withCredentials ?:布尔值; }'。

这似乎是错误according to this link。所以我用了这段代码。

static buildQueryParams(source: Object): HttpParams {
    let params: HttpParams = new HttpParams();
    Object.keys(source).forEach((key: string) => {
        const value: string | number | boolean | Date = source[key];
        if ((typeof value !== 'undefined') && (value !== null)) {
          params = params.append(key, value.toString());
        }
    });
    return params;
}  

但是,这不能解决错误。我该如何解决?

0 个答案:

没有答案