#angular #typescript #http #get #http-headers
#angular #typescript #http #получить #http-заголовки
Вопрос:
Я пытаюсь отправить запрос http get вместе с заголовками, как показано ниже
var headers = {}
headers['x-email'] = 1;
headers['x-from'] = 1577836800;
headers['x-to'] = 1598659200;
return this.http.get<any>(environment.apiUrl '/User/getTrips',{headers: new HttpHeaders(headers)})
.subscribe(data => {
if (data == undefined) {
this.rowData = [];
this.errorMsg = data['Error'];
} else {
this.rowData = data.slice(1);
this.gridOptions.rowData = data;
this.gridOptions.api.refreshCells({force : true});
}
Когда я вижу в сетевой консоли, я не вижу никаких заголовков в запросе и, следовательно, получаю пустой ответ api.
Ответ №1:
Попробуйте инициализировать переменную перед ее использованием.
const httpHeaders: HttpHeaders = new HttpHeaders({
'x-email': 1,
'x-from': 1577836800
'x-to': 1598659200
});
и затем
this.http.get<any>(environment.apiUrl '/User/getTrips',
{headers: httpHeaders })//... code continues here
Моя первоначальная мысль заключается в том, что HttpHeaders
класс имеет несколько тонкостей, поскольку он неизменяем. Изменяя инициализацию таким образом, мы убеждаемся, что используется правильный тип и что все правильно инициализировано перед вызовом http.get
кстати, это неверно: * если данные не определены; свойство ошибки отсутствует
if (data == undefined) {
this.rowData = [];
this.errorMsg = data['Error']; /* if data is undefined; there is no Error property*/
}
Комментарии:
1. Большое спасибо. Это сработало. Да, извините, вы правы, если данные не определены, свойства ошибки нет.