无法在ionic2 ts文件中打印json对象值

时间:2017-06-16 11:56:20

标签: typescript

在此代码中,我打电话给postRequest()'功能。此函数从login.html中的按钮调用在login.html中,有一个用于移动号码的字段,我将此移动号码传递给服务URL进行验证,当验证时,postRequest()函数调用获取sid,status,otp 。我在'结果'中得到了这个值。变量如代码所示。但是当我手动打印' result.status'时,它显示未定义,而如果条件为真,则状态为100,其他状态为101.

postRequest() {

let postUrl = "http url";

let postParams = {
  mobile_input: this.mobile_number

}

  var headers = new Headers();
  headers.append("Accept", 'application/json');
  headers.append('Content-Type', 'application/json' );
  let options = new RequestOptions({ headers: headers }); 

  this.http.post(postUrl, postParams, options)
    .subscribe(data => {


      let result =  data['_body'];  
      console.log(result);          //{"status":"100","otp":8995,"sid":"2"}
      console.log(result.status);   //undefined

      if (result.status == "100") {

        console.log(this.mobile_number);
        this.navCtrl.push(RegisterPage, {
        mobilePassed: this.mobile_number
        })


      } /*else {
        console.log("Invalid number");
      }*/

    }, error => {
      console.log(error);
    });

}

1 个答案:

答案 0 :(得分:0)

您需要先将JSON字符串解析为对象let res = JSON.parse(result);,然后才能访问res.status等状态。

希望这有帮助