Я пытаюсь получить подробную информацию из URL-адреса, вызываемого через http.get () в машинописи. Моя конечная точка URL-адреса для получения этой информации представляет собой вид localhost:8001\character\1234567890
, где число - это идентификатор символа.
Если я проверяю в браузере, URL-адрес возвращает все данные.
Моя проблема связана с вызовом функции машинописи. Впереди HTML, я вызываю функцию как:
<a href="#{{character.id}}" (click)="characterDetail(character.id)">Read more</a>
Затем остальные функции:
characterDetail(characterId: number) {
this.asyncCharDetail = this.getCharacterDetail(characterId)
.do(res => {
console.log(res);
})
.map(res => res.results);
}
getCharacterDetail(characterId: number) {
return this.http.get(this.characterDetailApiUrl + characterId,{})
.map((res: Response) => res.json())
}
console.log(res)
из первой функции ничего не печатает. characterId
и url верны оба, но не знают причину не получить информацию о символах.
Вторая часть при извлечении данных - показывать это в модальном окне.
Редактировать: Здесь у вас есть больше кода:
private characterDetailApiUrl = 'http://localhost:8001/character/';
....
//To save the character details from Http get.
asyncCharDetail: Observable<string[]>;
characterDetail(characterId: number) {
console.log('Character detail for ID ' + characterId);
this.loading = true;
this.asyncCharDetail = this.getCharacterDetail(characterId)
.do(res => {
console.log(res);
this.loading = false;
})
.map(res => res.results);
console.log(this.asyncCharDetail);
}
getCharacterDetail(characterId: number) {
return this.http.get(this.characterDetailApiUrl + characterId )
.map((res: Response) => res.json());
}
В файле Html:
<a href="" (click)="characterDetail(character.id); $event.preventDefault()">Read more</a>