2017-07-23 7 views
1

Ich versuche zufällige Benutzerinformationen mit Angular 4 und RANDOM USER API zu generieren. Immer wenn ich versuche, die empfangenen Daten auf der Konsole auszudrucken, um zu überprüfen, ob ich das bekommen habe, was ich wollte, bekomme ich immer eine "undefinierte" Nachricht, anstatt, was ich drucken wollte. Ich bekomme ein Objekt eines zufälligen Benutzers mit allen Parametern, die ich brauche, aber wie kann ich die spezifischen Parameter von diesem Objekt drucken und herausholen. Ich würde wirklich gerne und schätzen, wenn mir jemand das erklären würde. Vielen Dank im Voraus.Generieren Sie zufällige Benutzerinformationen Angular 4

Hier ist der Service-Code ich die Daten zu erhalten, bin mit:

import { Injectable } from '@angular/core'; 
import { Http } from '@angular/http'; 
import 'rxjs/add/operator/map'; 

@Injectable() 
export class UserdataService { 

    constructor(private _http: Http) { 
    } 

    getUserData(){ 

    return this._http.get('https://randomuser.me/api/?inc=name,location,nat,picture') 
    .map(res => res.json()); 

    } 

} 

Hier ist der Component Code, wo ich die Daten und versuchen, es in der Konsole zu drucken:

import { Component, OnInit } from '@angular/core'; 
import { UserdataService } from '../../services/userdata.service'; 

@Component({ 
    selector: 'app-controller', 
    templateUrl: './controller.component.html', 
    styleUrls: ['./controller.component.css'] 
}) 
export class ControllerComponent implements OnInit { 

    constructor(private _randomUserService:UserdataService) { 

    } 

    ngOnInit() { 

    this._randomUserService.getUserData().subscribe((data)=>{ 
     console.log(data.name);//Try to print the name of the user as example 

    }); 
    } 
} 

Antwort

1

Sie erhalten den Benutzer nicht als Ergebnis von der API, Sie erhalten ein komplexeres Objekt und Sie müssen den Benutzer von diesem abrufen. Also in der Service-Map auf die Ergebnisse Eigenschaft der Antwort:

return this._http.get('https://randomuser.me/api/?inc=name,location,nat,picture') 
    .map(res => res.json().results[0]); 
+0

Vielen Dank, das hat funktioniert! – Keselme

Verwandte Themen