React - fetch' message'来自Ajax发布请求的响应的Meta-Data元素

时间:2018-05-28 23:25:48

标签: javascript ajax reactjs

所以我收到了来自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;

1 个答案:

答案 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>)}