JSON响应响应本机Post方法问题

时间:2018-10-12 01:51:39

标签: json react-native post

我遇到了一个奇怪的问题,我正在使用Nexmo验证号码,并且正在发送发布方法

fetch('http://monasabat-app.com/basta_app/sign_up.php', {
  method: 'POST',
  headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/x-www-form-urlencoded'
  },
  body: formBody
}).then((response) => response.json())
        .then((responseJson) => { 
              const ss1 = responseJson.status[0]
              console.log(ss1)
              let success = 'success'
              if(ss1.status === success){
                alert(ss1.status)
                this.props.navigation.navigate('verNum',{
                  uid:ss1.uid,
                  phone:this.state.phone,
                  name:this.state.name,
                  emai:this.state.email
                })


              }else{
                alert(ss1.status)
              }

注册信息(formBody)已成功存储在数据库中,但是它没有导航到verNum屏幕,也不会警告ss1.status,但是如果响应不成功,则它会警告else部分的ss1.status( num已被注册),所以我猜问题出在if条件部分,但奇怪的是它有时确实起作用,并且在其他时候没有出现警告,可能是未处理的承诺被拒绝(id:1)。

我的JSON响应

{
    "status": [
        {
            "status": "success",
            "uid": "99"
        }
    ]
}

1 个答案:

答案 0 :(得分:0)

首先,检查this.propsthis.state是否可在承诺内访问。

如果未在获取之前创建一个变量,其值应为this

示例let self = this;

然后

this.props.navigation.navigate

将成为

self.props.navigation.navigate.