Angular 7 httpClient получает ответ от Laravel API is string - PullRequest
0 голосов
/ 12 марта 2019

У меня есть проект 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);
      });
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...