Angular 无法从promise-IONIC2获取值
我的php文件将此作为响应返回 “结果:1” 我试图在我的Angular 无法从promise-IONIC2获取值,angular,ionic2,Angular,Ionic2,我的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);
.ts
文件中匹配它,如下所示,但它不起作用
this._login.login(this.usr,this.pwd)
.subscribe(data => {
console.log(data[0].Result);
if(data[0].Result == 1){
this.navCtrl.push(DashboardPage);
}
}
在myconsole.log中,它表示未定义。
请帮我更正这两行代码
console.log(数据[0]。结果);
如果(数据[0]。结果==1)
提前谢谢
我想你需要像这样
this._login.login(this.usr,this.pwd)
.subscribe(data => {
console.log(data.Result);
if(data.Result == 1){
this.navCtrl.push(DashboardPage);
}
}
这看起来php代码返回的是字符串,而不是json(从技术上讲,它是转换为json的字符串),但在ionic中,您将其视为json对象。Te响应应该是:[{“结果”:1}]
而不是结果:1
因此,在php代码中,您需要:
echo json_encode(数组(数组(“结果”=>$cnt))代码>从屏幕截图中,返回类型不是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);
}
}
数据数组是什么样子的?这是响应的外观,这是php中的代码-echo json_encode(“结果:.$cnt)
请显示您的登录
(来自this.\u login.login
)函数。您需要以正确的格式从后端返回数据…您的json\u encode()没有创建json对象,因为您只传递了一个字符串,例如“Result:1”-尝试编码php对象/数组,而不是headit仍然说undefined@JessicaStorm试试console.log(数据);然后将结果粘贴到此处我需要更正php端,尝试了此方法,但不起作用-json_encode((“result”=>$cnt)),我如何得到像这样的结果“[{”result:“1”}]它表示json输入的意外结束-现在php的响应形式是什么?我需要更正php端,尝试了这个,但没有工作-json_encode(((“result”=>$cnt))
,如何得到这样的结果`[{“result”:“1”}]您忘记了行中的数组。如果您想拥有{“Result”:1}
您需要codejson_encode(数组(“Result”=>$cnt))代码>。但是如果你想要[{“Result”:“1”}]
你需要两个数组:json_encode(array(array(“Result”=>$cnt)))代码>邮递员使用上述建议没有结果-我需要2个背景[{}]
[ts]属性'result'在类型'string'上不存在。anysorry更新了将字符串转换为JSON的代码。JSON.parse-现在检查这个