Angular-9 http.get не запрашивает сервер
Есть компонент в нем в ngOnInit() такой код:
const resp = this.accountService.getById(this.id)
.pipe(first())
.subscribe(data => {
console.log('data ....:');
console.log(JSON.stringify(data));
this.f.email.setValue(data.email);
this.f.nameNick.setValue(data.nameNick);
this.f.nameFirst.setValue(data.nameFirst);
this.f.nameLast.setValue(data.nameLast);
console.log('this.f ....:');
console.log(this.f);
console.log('resp ....:');
console.log(resp);
},
err => {
console.log('Error occured.');
});
Также есть сервис "accountService". В нем такой метод:
getById(id: string) {
const addr = `${environment.apiUrl}/api/users/${id}`;
console.log('ret = this.http.get<User>(' + addr + ');');
const ret = this.http.get<User>(addr);
console.log('ret ....:');
console.log(ret);
return ret;
}
В итоге не посылается запрос на сервер, Выдается ошибка:
core.js:6210 ERROR TypeError: Cannot read property 'email' of null
at SafeSubscriber._next (add-edit.component.ts:54)
at SafeSubscriber.__tryOrUnsub (Subscriber.js:183)
at SafeSubscriber.next (Subscriber.js:122)
at Subscriber._next (Subscriber.js:72)
at Subscriber.next (Subscriber.js:49)
at ThrowIfEmptySubscriber._next (throwIfEmpty.js:24)
at ThrowIfEmptySubscriber.next (Subscriber.js:49)
at TakeSubscriber._next (take.js:35)
at TakeSubscriber.next (Subscriber.js:49)
at MapSubscriber._next (map.js:35)
Если я добавляю косую черту в конец адреса вот так:
const addr = `${environment.apiUrl}/api/users/${id}/`;
Тогда запрос на сервер отправляется, и все работает, но меня это не устраивает из за API.
Ответы (1 шт):
Автор решения: telebob
→ Ссылка
Разобрался.
У меня изначально был готовый пример программы, включающий в себя Фейковый Бэкэнд. Как я понял, фейк-бэкэнд перехватывал и отрабатывал все запросы, у которых адреса были такими же, как у него в роутах. Все. Дальше запросы, естественно, никуда не шли.
Сейчас я закомментировал все маршруты фейк-бэкэнда, и все заработало.