在此代码中,我打电话给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);
});
}
答案 0 :(得分:0)
您需要先将JSON字符串解析为对象let res = JSON.parse(result);
,然后才能访问res.status
等状态。
希望这有帮助