2017-04-13 105 views
1

我目前的工作對我的第一離子2的應用程序,但我還沒有很成打字稿..如何將HTTP JSON響應轉換爲HTML(Ionic2,Angular2,TypeScript,PHP,JSON)?

我想調用authenticate()方法在我的構造函數和事後

  1. GET整個JSON響應到textarea的 和/或
  2. 訪問我的HTML 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

不幸的是它仍然是空的,沒有textareas出現 – dzitrus

+0

在輸出屏幕你開始g [對象對象] – Vignesh

回答

0

你會想提取裏面的對象陣列,裏面是Person

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

此外,你需要將數據分配到this.data像這樣:(連同safe navigation operator?這裏)

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

然後使用

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

+0

感謝您的建議,調整了代碼,但textarea保持爲空 – dzitrus

+0

您嘗試過'{{data | json}}'你實際上在'data'中有值嗎? – Alex

+0

現在適用於您最後的更改,只需重啓離子:)非常感謝,您讓我的一天! – dzitrus