2016-11-22 7 views
0

SITUATIONからデータを取得します。イオン2は、サービス

私のイオニア2アプリでは、私はログインのためのPOST要求を持っています。それは正常に動作しています。電子メールとパスワードの入ったフォームがあります。このデータをAPIに送信すると、対応するユーザーデータが返されます。

唯一の問題は、このデータをサービス内で取得することです。

どうすればこのデータをloginPageコンポーネントに渡すことができますか?

コンソールには、正しく受信したすべてのデータが表示されます。 console.logだけがサービス内にあります。

データをコンポーネントに渡すだけで済みます。

CODE

LoginPageコンポーネント

makeLogin() 
{ 
    var email = this.loginForm.value.email.trim(); 
    var password = this.loginForm.value.password.trim(); 

    this.userService.submitLogin(email, password, this.api_access_key); 

} 

サービス

submitLogin(email: string, password: string, api_access_key: string) 
{  
    let urlSearchParams = new URLSearchParams(); 
    urlSearchParams.append('email', email); 
    urlSearchParams.append('password', password); 
    urlSearchParams.append('api_access_key', api_access_key); 

    let body = urlSearchParams.toString() 

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

    this.http 
     .post(this.loginUrl, body, { headers: headers }) 
     .map(response => response.json()) 
     .subscribe(data => { 
        console.log('login API success'); 
        console.log(data); 
       }, error => { 
        console.log(error); 
     }); 
} 

答えて

1

あなたのcomponentない内側subscribeに必要。

//コンポーネント

makeLogin() 
{ 
    var email = this.loginForm.value.email.trim(); 
    var password = this.loginForm.value.password.trim(); 

    this.userService.submitLogin(email, password, this.api_access_key).subscribe((res) => { 
     console.log(res); 
    }, (error) => { 
     console.log(error); 
    }); 

} 

//サービス

submitLogin(email: string, password: string, api_access_key: string) 
{  
    let urlSearchParams = new URLSearchParams(); 
    urlSearchParams.append('email', email); 
    urlSearchParams.append('password', password); 
    urlSearchParams.append('api_access_key', api_access_key); 

    let body = urlSearchParams.toString() 

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

    return this.http 
     .post(this.loginUrl, body, { headers: headers }) 
     .map(response => response.json()); 
} 
+0

速く、正しい答えをありがとう! – johnnyfittizio

+0

こんにちはRanakrunal、私はポストAPIを打つとき、私はこのようなHTMLタグ( "_body": "
\"}のような応答を得ますので、助けてください。 –