我的php文件将此作为响应返回
"结果:1"
我想在我的.ts
文件中将其匹配,如下所示,这不起作用
this._login.login(this.usr,this.pwd)
.subscribe(data => {
console.log(data[0].Result);
if(data[0].Result == 1){
this.navCtrl.push(DashboardPage);
}
}
在我的console.log
中说未定义。
请帮我纠正这两行代码
console.log(data[0].Result);
if(data[0].Result == 1)
提前致谢
答案 0 :(得分:1)
看起来你的php代码返回一个字符串,而不是json(技术上它的字符串转换为json),但在离子中你把它视为json对象。响应应为:[{"Result": 1}]
而不是Result:1
所以在你的PHP代码中你需要:
echo json_encode(array(array("Result" => $cnt)));
答案 1 :(得分:0)
我认为你需要这样,
this._login.login(this.usr,this.pwd)
.subscribe(data => {
console.log(data.Result);
if(data.Result == 1){
this.navCtrl.push(DashboardPage);
}
}
答案 2 :(得分:0)
从截图中,返回类型不是JSON它的字符串。将字符串转换为JSON。请尝试以下代码
this._login.login(this.usr,this.pwd)
.subscribe(data => {
let updatedData = JSON.parse("{"+data+"}")
console.log(updatedData.Result);
if(updatedData.Result == 1){
this.navCtrl.push(DashboardPage);
}
}