Согласно HttpClient в документе Angular.
Метод HttpClient.get () проанализировал ответ сервера JSON в анонимный тип объекта.Он не знает, какова форма этого объекта.
Моя проблема в том, что я не могу получить Json напрямую.Мне по-прежнему нужно Json.parse в dash-board.component.ts
dash-board.component.ts
import { PhoneBasicInfo } from './../Models/PhoneBasicInfo';
import { DashBoardServiceService } from './../Services/dash-board-serv
ice.service';
import { Component, OnInit } from '@angular/core';
import { PhoneRecord } from '../Models/PhoneRecords';
@Component({
selector: 'app-dash-board',
templateUrl: './dash-board.component.html',
styleUrls: ['./dash-board.component.css']
})
export class DashBoardComponent implements OnInit {
constructor(private service: DashBoardServiceService) { }
temp:any;
basicInfo: PhoneBasicInfo;
ngOnInit() {
this.service.getPhoneBasicInfo()
.subscribe(
basic => {
console.log(basic['companyName']) <- I should get the Json Object.
console.log(JSON.parse(basic)); <- I should not do this.
}
);
}
}
Извините, моей репутации недостаточно, чтобы вставить картинку
Изображение консоли
Я использую JSON.parse для получения данных.Тем не менее, это кажется не правильно.
Итак, мой вопрос: как правильно получить Json через HttpClient?
Большое вам спасибо.
dash-board-service.service.ts
import { PhoneBasicInfo } from './../Models/PhoneBasicInfo';
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { CATCH_ERROR_VAR } from
'@angular/compiler/src/output/abstract_emitter';
@Injectable({
providedIn: 'root'
})
export class DashBoardServiceService {
private url = 'http://localhost:57302/api/Phone';
constructor(private http:HttpClient) { }
getPhoneBasicInfo(): Observable<PhoneBasicInfo>{
return this.http.get<PhoneBasicInfo>(this.url);
}
}
PhoneBasicInfo.ts
export class PhoneBasicInfo{
companyName:string;
firstTrade: string;
}