2017-04-13 15 views
1

私は現在、私の最初のイオン2アプリに取り組んでいますが、私は非常に多くのtypescriptですにまだないです..HTML(Ionic2、Angular2、TypeScript、PHP、JSON)にHTTP JSONレスポンスを取得する方法は?

私は私のコンストラクタでのauthenticate()メソッドを呼び出したいとその後に

  1. GET私のHTML内のtextarea および/または
  2. アクセスに全体JSONレスポンス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

出力画面では、 g [Object Object] – Vignesh

答えて

0

であるあなたは、内側にあるオブジェクトを抽出したいです内部にある配列Person

.map(res => res.json().Person[0]) // extract object 

さらに、あなたがそうのようthis.dataにデータを割り当てる必要があります。

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

そして、(一緒にここsafe navigation operator?で。)を使用

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

+0

あなたの提案に感謝し、コードを調整しましたが、textareaは空のままです – dzitrus

+0

'{{data | json}} 'あなたは実際に' data'に値を持っていますか? – Alex

+0

はあなたの最後の変更で今働き、イオンを再開しなければならなかった:)とても感謝して、あなたは私の一日を作った! – dzitrus

関連する問題