所以我收到了来自Ajax发布请求的响应(显示了部分响应),其中:
Data:
Meta-Data:
Topic : "Sign-Up"
Message : "Already in the System!"
Response Code : "650"
.
.
.
如何获取邮件并将其显示给用户?我以为我可以在React中做到这一点:
state = {
username : "John",
password : "somePass",
postResponse : null
}
axios.post(URL, JSON.stringify({ username : this.state.username , password: this.state.password})
.then(response => { this.setState({postResponse : response.data}) }
然后在render()中我做:
render(){
let message = null;
if (this.state.postResponse){
message = <p>{this.postResponse.data.meta-data.message}</p> //apparently the dash is breaking the code!
}
return(<div> {message} </div>)}
根本不起作用! &#34;它是我的代码的一部分,我希望我已经包含了所有必要的部分&#34;
答案 0 :(得分:1)
我能看到的两件事。你有这个.postResponse。它应该是this.state.postResponse,我可以告诉你。此外,您需要将“元数据”放入引号并使用括号来引用它,如下所示。
state = {
username : "John",
password : "somePass",
postResponse : null
}
axios.post(URL, JSON.stringify({ username : this.state.username , password: this.state.password})
.then(response => { this.setState({postResponse : response.data}) }
render(){
let message = null;
if (this.state.postResponse){
message = <p>{this.state.postResponse[“meta-data”].message}</p>
}
return(<div> {message} </div>)}