2017-04-13 1 views
1

나는 현재 내 첫 이온 2 응용 프로그램 작업입니다,하지만 난 아주 많이 타이프 라이터로 아직입니다 ..HTML (Ionic2, Angular2, TypeScript, PHP, JSON)에 HTTP JSON 응답을 가져 오는 방법은 무엇입니까?

내 생성자에서 인증합니다() 메소드를 호출 할 및 이후에

  1. GET 텍스트 영역 및/또는 내 HTML에서 JSON 응답의
  2. 액세스 사용자 이름과 암호 값으로 전체 JSON 응답

타이프 :

export class WelcomePage { 
    public data: string; 
    username: string; 
    password: string; 

    constructor(public navCtrl: NavController, public http: Http) { 
     this.authenticate(); 
    }  

    authenticate() { 
      var creds = { username: 'user1', password: 'pw1' }; 

      var headers = new Headers(); 
      headers.append('Content-Type', 'application/x-www-form-urlencoded'); 

      this.http.post('http://www.xyz.api.php', creds, { 
       headers: headers 
      }) 
       .map(res => res.json()) 

       .subscribe(
       data => this.data, 
       err => this.logError(err), 
       () => console.log('Completed') 
       ); 
     } 
} 

응답 이미 API에서 가져온 :

{ "Person":[ {"Username":"user1","Password":"pw1"} ] } 

HTML :

<textarea>here: {{data}}</textarea> 

-> 텍스트 영역이 비어

+0

를 데이터는 JSON 객체입니다 그래서 이런 객체를 반복 할 필요가 있습니다

Vignesh

+0

불행히도 여전히 비어 있습니다. 텍스트 영역이 나타나지 않습니다. – dzitrus

+0

출력 화면에 gettin입니까? g [Object Object] – Vignesh

답변

0

당신은 내부 객체를 추출 할 것 내부에있는 배열 Person :

,745,

또한, 당신과 같이 this.data에 데이터를 할당해야합니다. (여기 safe navigation operator?와 함께)

.subscribe(
    data => this.data = data // here! 
    .... 

그런 다음 사용

{{data?.Username}}{{data?.Password}}

+0

제안에 감사 드리며 코드를 조정했지만 텍스트 영역이 비어 있습니다 – dzitrus

+0

'{{data | json}}'실제로 데이터에 값을 가지고 있습니까? – Alex

+0

는 최근 변경 사항과 함께 작동합니다. 단지 이온을 다시 시작해야했습니다. :) 대단히 감사합니다. 내 하루를 보냈습니다! – dzitrus

관련 문제