Angular6 HttpClient не может получить Json - PullRequest
0 голосов
/ 29 мая 2018

Согласно 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;
}

1 Ответ

0 голосов
/ 29 мая 2018

Спасибо, ребята.У меня проблема с серверным API.Еще раз спасибо

...