2017-06-25 12 views
1

In Komponente, rief ich dataservice Methode 'Login', die Post-API aufruft. res.json() gibt korrekte Antwort. Aber in der Komponente, wenn ich versuche, auf "Daten" zuzugreifen, kommt es als undefined in subscribe. Ich weiß nicht, was ich hier falsch mache. Bitte helfen Sie.Angular 2 .subscribe() Rückgabe undefined

Data:

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

    } 

Komponente:

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

Mögliche Duplikat [Komponente erhalten keine Daten von Service] (https://stackoverflow.com/questions/44746456/component-does-not-receive-data-from- Bedienung) – Alex

Antwort

6

Ersetzen

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

von

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

oder durch

.map((res: Response) => res.json()) 
Verwandte Themen