Angular 无法从promise-IONIC2获取值

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);

我的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);
             }
        }
在my
console.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}
您需要code
json_encode(数组(“Result”=>$cnt))。但是如果你想要
[{“Result”:“1”}]
你需要两个数组:
json_encode(array(array(“Result”=>$cnt)))邮递员使用上述建议没有结果-我需要2个背景
[{}]
[ts]属性'result'在类型'string'上不存在。anysorry更新了将字符串转换为JSON的代码。JSON.parse-现在检查这个