2017-06-25 24 views
1

コンポーネントでは、post APIを呼び出すdataserviceメソッド 'login'を呼び出しました。 res.json()が正しい応答を返しています。しかしコンポーネントでは、私は 'データ'にアクセスしようとすると、subscribeで定義されていません。私がここで間違っていることを知りません。助けてください。角2 .subscribe()未定義の返信

のDataService

login(username, password): Observable<any>{  
    let data = { username: username, password: password}; 
    return this.http.post(this.domain + '/webservice/login', data) 
        .map((res: Response) => { 
         res.json()      
        }) 
        .catch((error: any) => Observable.throw(error.json().error || 'server error')); 

    } 

成分

+0

[コンポーネントサービスからのデータを受信しない]の可能な重複(https://stackoverflow.com/questions/44746456/component-does-not-receive-data-from-サービス) – Alex

答えて

6
callLoginApi() { 
    this.showLoading = true; 
    this.dataService.login(this.username,this.password) 
     .subscribe(data => { 
       console.log(data); 
      }); 
    } 

によって

.map((res: Response) => { 
    res.json()      
}) 

を交換

.map((res: Response) => { 
    return res.json(); 
}) 

かによって

.map((res: Response) => res.json()) 
関連する問題