передача параметров в http get метод - угловой - PullRequest
0 голосов
/ 25 июня 2019

У меня есть API и детали аутентификации, которые приведены ниже

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

Я объявлен params с использованием uName и 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 ?: HttpHeaders | {[header: string]: строка | Строка []; }; наблюдать ?: "тело"; params ?: HttpParams | {[param: string]: string | Строка []; }; reportProgress ?: логический; responseType ?: "json"; withCredentials ?: логическое значение; }».

Похоже, это ошибка по этой ссылке . Поэтому я использовал этот код.

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;
}  

Однако это не исправляет ошибку. Как я могу это исправить?

...