У меня есть проект Angular 7 с бэкэндом API PHP Laravel, который возвращает json из запросов get.
return Response :: json ($ genres);
Я использую httpClient в службе, которая вызывается из компонента (см. Оба ниже). Когда я консоль журнала данных, это строка, а не объект JSON. Также я не могу получить доступ к каким-либо свойствам, которые у него есть, потому что это просто длинная строка.
В большинстве онлайн-примеров люди использовали map, а затем pipe, но оба они устарели, и, очевидно, httpClient просто возвращает JSON по умолчанию, но в данном случае это не так.
Может ли кто-нибудь дать мне решение этой проблемы? Мне нужен доступ к данным в ответе как JSON.
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class ApiService {
constructor(private http:HttpClient) { }
getGenres(){
return this.http.get('http://www.localhost:7888/api/genres', this.genre);
}
}
import { Component, OnInit } from '@angular/core';
import { ApiService } from '../../services/api.service';
@Component({
selector: 'app-genres',
templateUrl: './genres.component.html',
styleUrls: ['./genres.component.css']
})
export class GenresComponent implements OnInit {
constructor(private apiService: ApiService) { }
ngOnInit() {
// make http request to http://www.localhost:7888/api/genres
this.apiService.getGenres().subscribe(data => {
console.log(data);
},
error => {
console.log(error);
});
}
}