Я закончил учебное руководство по angular2 heroies https://angular.io/docs/ts/latest/tutorial/, и теперь я пытаюсь вызвать RAL REST api, который я сделал с помощью Node, Postgresql и Express.Вызов REST api из angular2
angular2 код вызова API выглядит следующим образом:
...
export class HeroService{
private heroesUrl = 'http://192.168.4.13:3000/api/boxes'; //URL til api
private headers = new Headers({'Content-Type': 'application/json'});
constructor(private http: Http) {}
getHeroes(): Promise<Hero[]> {
return this.http.get(this.heroesUrl)
.toPromise()
.then(response => response.json().data as Hero[])
.catch(this.handleError);
}
...
Консоль браузер показывает: произошло
Ошибка ответа {_body : Object, status: 404, ok: false, statusText: «Not Found», headers: Headers ...} ИСКЛЮЧЕНИЕ: Недоступно (в обещании): Ответ со статусом: 404 Не F ound для URL: нулевой
И я вижу, что мой API isen't называют. Любые идеи тому, что я упускаю?
С уважением.
Сообщение об ошибке указывает на неправильный URL-адрес, т. Е. Возвращает '404'. Если вы также пытаетесь вызвать '.json()' на 'response', то он будет терпеть неудачу, потому что контент не JSON. Каков URL-адрес API, который вы пытаетесь вызвать? Как вы определили этот API на стороне сервера? –
К сожалению, API недоступен публике, но я обновил свой пост с изображением, чтобы вы могли видеть структуру результата из API. – Tony
Это может быть глупо, но попытались ли вы удалить часть 'http: //' из URL? Кроме того, вы можете открыть консоль браузера, выбрать вкладку сети и обновить страницу, на которой вы ожидаете, что это будет вызвано. Это может помочь лучше понять проблему. –