2017-11-12 4 views
0

Ich habe seit gut zwei Stunden mit diesem scheinbar einfachen Problem zu kämpfen. Bitte erziehen Sie mich. Ich verstehe einfach nicht, was ich falsch mache.Zugriff auf JSON-Attribute nicht möglich

Ich habe ein PHP-Skript, das ich von einem reagieren Komponente wie so mit einem $ .get Funktion aufrufen:

this.serverRequest = $.get("php/get_house.php", {"id":this.props.houseId}, function(data){ 
     this.setState({house: data, loading: false}); 
    }.bind(this)); 

ich dann die Daten in this.state.house in eine andere Komponente zu übergeben:

<ShowHouse house={this.state.house} /> 

In Komponente Musterhaus ich die log-Daten:

console.log(this.props.house); 
    console.log(this.props.house[0]); 

die erste gibt etwas, das c chrom Onsole zeigt als [{...}], mit den Daten in 0: n-Position, die zweite gibt, was Sie erwarten würden - nur die Daten im normalen JSON-Format wie im Block unten.

Meine JSON, die ich auf der Seite gedruckt, wenn ich einfach den PHP-Skript mit einer ID öffnen, wie ..php? Id = 1

[{"heading":"Kuin uusi","id":"1","city":"Helsinki"}] 

Wie kann ich diese Daten? Ich erhalte eine Fehlermeldung "Kann die Eigenschaft 'Überschrift' von 'undefined' nicht lesen, wenn ich einfach versuche, darauf durch console.log (this.props.house [0] .heading) zuzugreifen.

Antwort

0

können Sie die Array-Syntax

this.props.house[0]["heading"] 
+0

Dank verwenden. Ich habe nie zuvor versucht, diese Syntax zu testen. Obwohl ich mein Problem nicht gelöst habe, hehe. –

Verwandte Themen