Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Ошибка в форме на Ангуляр5 (https://javascript.ru/forum/angular/72153-oshibka-v-forme-na-angulyar5.html)

Zhanadil1509 12.01.2018 11:24

Ошибка в форме на Ангуляр5
 
Вот есть такой модель

import {HttpClient} from '@angular/common/http';
import {Injectable} from '@angular/core';
import {Observable} from 'rxjs/observable';
import {User} from '../models/user.model';
import {Response} from '@angular/http';
import 'rxjs/add/operator/map';

@Injectable()
export class UsersService{
constructor(private http: HttpClient) {}

getUserByEmail(email: string): Observable<User>{
return this.http.get(`http://localhost:3000/users?email=${email}`)
.map((res: Response) => res.json());
}
}

На ангуляре 4 работает. На 5м уже не работает, то что на 5м нет Response по пути angular/http

Как надо реализовать этот код, чтобы при отправке запроса в форму не выдавало ошибку: res.json is not a function???

Zhanadil1509 12.01.2018 11:34

Всем спасибо! Нашел ответ. Может кому пригодится:

getUserByEmail(email: string): Observable<User>{
return this.http.get<User>(`http://localhost:3000/users?email=${email}`);
}
}

destus 12.01.2018 11:37

Zhanadil1509,
res.json() сделали вызываемым по-умолчанию. Поэтому просто
return this.http.get(`http://localhost:3000/users?email=${email}`)

И вообще Response из пакета @angular/http - deprecated, как и сам пакет. Поэтому используем HttpResponse


Часовой пояс GMT +3, время: 10:13.