分享
三行代码  ›  专栏  ›  技术社区  ›  MasoodS

react-从ajax post请求的响应的元数据元素中获取“message”

  •  0
  • MasoodS  · 技术社区  · 2 年前

    因此,我收到了来自Ajax Post请求的响应(显示了响应的一部分),其中:

    Data:
      Meta-Data:
        Topic : "Sign-Up"
        Message : "Already in the System!"
        Response Code : "650"
    .
    .
    .  
    

    如何获取消息并将其显示给用户?我在想我能做出反应:

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

    根本不起作用! “这是我的代码的一部分,我希望我已经包含了所有必要的部分。”

    1 回复  |  直到 2 年前
        1
  •  1
  •   twils0    2 年前

    我能看到两件事。你有这个。回复后。据我所知应该是this.state.posterresponse。另外,您需要将元数据放在引号中,并使用括号引用它,如下所示。

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