2016-11-22 4 views
0

상황에서 데이터를 가져옵니다.이온 2는 서비스

내 이오니아 2 앱에 로그인을위한 POST 요청이 있습니다. 제대로 작동하고 있습니다. 이메일과 비밀번호가있는 양식이 있습니다. 이 데이터를 API로 보내면 해당 사용자 데이터가 응답으로받습니다.

유일한 문제는 서비스에서이 데이터를 가져 오는 것입니다.

그러면이 데이터를 loginPage 구성 요소로 전달할 수 있습니까?

콘솔에서 제대로받은 모든 데이터를 볼 수 있습니다. console.log만이 서비스 안에 있습니다.

데이터를 구성 요소로 전달하면됩니다.

하는 코드 :

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 필요.

// 구성 요소

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

빠르고 정확한 답변을 주셔서 감사합니다 // 서비스

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); }); } 

! – johnnyfittizio

+0

안녕하세요 Ranakrunal, 게시 API를 누르면 { "_body": "
\"}와 같은 HTML 태그로 응답을 받게되므로 저를 도와 줄 수 있습니다. –