У меня есть 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;
}
Однако это не исправляет ошибку. Как я могу это исправить?