ionic 3 [object object] 无法解析数据

戈瓦迪约

实际上,我正在从服务器获取以下数据。

{
"status": 1,
"message": "Product Detail",
"data": {
    "product": {
        "product_id": "87",
        "product_name": "Decide A4-12",
        "product_price": "Rs. 199.00",
        "product_shortdescription": "FREE Delivery Portrait",
        "product_description": "FREE Delivery\r\nSize : A4\r\nPaper Quality : 170 gsm\r\nPackage ",
        "product_small_image": "https:\\xxxxxx\/p\/o\/pos_02_2.jpg",
        "product_detail_image": "https:\\xxxxxx\/p\/o\/pos_02_2.jpg",
        "gallery": [{
            "gallery_url": "https:\\xxxxxx\/p\/o\/pos_02_2.jpg"
        }],
        "is_in_stock": 1
    },
    "reviews": {
        "count": 0,
        "review": []
    }
  }
}

我正在使用POST方法Promise获取数据。网络中,我得到了 JSON 并通过JSONLint验证

但是如果想在控制台中打印,那么它会看到[object Object]

其实问题是如何解析字典的数据。

我想显示图像 product_detail_image

我的.ts文件

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { ApiProvider, APIName } from '../../providers/api/api';

@IonicPage()
@Component({
  selector: 'page-productdetail',
  templateUrl: 'productdetail.html',
})
export class ProductdetailPage {

  dicProductDetail: any

  constructor(public navCtrl: NavController, public navParams: NavParams,
     public apiProvider: ApiProvider) {       
     this.wsForGetProductDetail(navParams.get("productID"))
  }

  wsForGetProductDetail(productID: String){
    this.apiProvider.wsPost(APIName.getProductDetailApi, "product_id="+productID).then( responseData => {      
       this.dicProductDetail = responseData
       console.log("DATA ==> " + this.dicProductDetail["product"])
    }, (err) => {
       alert(err)
    });
  }
}

其中responseData = response["data"]所以我不需要在 fetch 时["data"]product_detail_image

我的.html文件

<ion-content padding >
  <img [src]="dicProductDetail[product].product_detail_image">
</ion-content>

但图像无法显示。

得到以下错误:

错误类型错误:无法读取未定义的属性“未定义”

任何人都可以指导我正确的方向,我会出错吗?

编辑:更清楚wsPost()

wsPost(strAPIName, params){
    console.log("params : " + JSON.stringify(params))
    console.log("Api : " + this.baseURL+strAPIName)

    return new Promise((resolve, reject) => {
      this.http.post(this.baseURL+strAPIName, params, {
        headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded'),
      })
      .subscribe(response => {
        if(response["status"] == 1) {          
          resolve(response["data"])
        }
        else if(response["status"] == 2) {          
          alert(response["message"])  
        }
        else {
          alert("Something is going wrong please try again")  
        }
      }, (err) => {
        alert("Error: " + err.message)
      })
    })
  }
戈瓦迪约

感谢@Suraj Rao的评论。

你是对的,这是因为在从服务器获取数据之前加载了页面。

所以你建议的链接对我不起作用,但我从下面的链接中找到了解决方案。

在加载之前在视图中加载数据

我使用ngIf如下。

<ion-content padding >
<div *ngIf="dicProductDetail">
    <img [src]="dicProductDetail['product'].product_detail_image">
</div>    

我的问题解决了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ionic 3:尝试区分“[object Object]”时出错

来自分类Dev

无法解析 HttpXsrfCookieExtractor 的所有参数:(?, [object Object], [object Object])

来自分类Dev

TypeError:对象原型只能是Object或为null:在Ionic3中未定义

来自分类Dev

无法从Json Object获取数据

来自分类Dev

如何解析[object Object]

来自分类Dev

Eclipse scala.object无法解析

来自分类Dev

错误:object()不带参数,无法解析

来自分类Dev

无法解析符号 ObservableMap<String,Object>

来自分类Dev

ionic Object(...) 不是 DocumentViewer.viewDocument 的函数:

来自分类Dev

无法解析共享库模块([object Object]、?、?)中的参数解析 - Angular 5

来自分类Dev

了解HashMap <Integer,Object>(3)

来自分类Dev

无法获取 /[object%20Object]

来自分类Dev

URLLoader发送帖子数据为[object Object]

来自分类Dev

从'[object Object]'获取表单数据

来自分类Dev

运行时错误:Object(...) 不是函数 Ionic/Firebase/Angular

来自分类Dev

无法解析 AuthService 的所有参数:([object Object], ?) Angular 5.x

来自分类Dev

JSON 解析中的 Ionic 3 错误

来自分类Dev

如何解析[object HTMLDivElement]?

来自分类Dev

解析Ljava.lang.Object

来自分类Dev

如何解析[object HTMLDivElement]?

来自分类Dev

如何解析Boto3 200的copy_object请求响应

来自分类Dev

无法添加到场景 - 伪造查看器。错误:“THREE.Object3D.add:对象不是 THREE.Object3D 的实例。”

来自分类Dev

无法在 Ionic 3 中链接承诺

来自分类Dev

Angular ngFor无法显示数据<!-bindings = {“ ng-reflect-ng-for-of ::” [object Object]“}->

来自分类Dev

为什么primfaces数据表无法访问包含list <Object>的list <Object>中的变量

来自分类Dev

解析Backbone.js把手[Object object]

来自分类Dev

使用javascript进行JSON解析会返回[object Object]

来自分类Dev

无法创建无法识别的别名的实例:widget。[object Object]

来自分类Dev

无法创建别名无法识别的实例:widget。[object Object]

Related 相关文章

  1. 1

    Ionic 3:尝试区分“[object Object]”时出错

  2. 2

    无法解析 HttpXsrfCookieExtractor 的所有参数:(?, [object Object], [object Object])

  3. 3

    TypeError:对象原型只能是Object或为null:在Ionic3中未定义

  4. 4

    无法从Json Object获取数据

  5. 5

    如何解析[object Object]

  6. 6

    Eclipse scala.object无法解析

  7. 7

    错误:object()不带参数,无法解析

  8. 8

    无法解析符号 ObservableMap<String,Object>

  9. 9

    ionic Object(...) 不是 DocumentViewer.viewDocument 的函数:

  10. 10

    无法解析共享库模块([object Object]、?、?)中的参数解析 - Angular 5

  11. 11

    了解HashMap <Integer,Object>(3)

  12. 12

    无法获取 /[object%20Object]

  13. 13

    URLLoader发送帖子数据为[object Object]

  14. 14

    从'[object Object]'获取表单数据

  15. 15

    运行时错误:Object(...) 不是函数 Ionic/Firebase/Angular

  16. 16

    无法解析 AuthService 的所有参数:([object Object], ?) Angular 5.x

  17. 17

    JSON 解析中的 Ionic 3 错误

  18. 18

    如何解析[object HTMLDivElement]?

  19. 19

    解析Ljava.lang.Object

  20. 20

    如何解析[object HTMLDivElement]?

  21. 21

    如何解析Boto3 200的copy_object请求响应

  22. 22

    无法添加到场景 - 伪造查看器。错误:“THREE.Object3D.add:对象不是 THREE.Object3D 的实例。”

  23. 23

    无法在 Ionic 3 中链接承诺

  24. 24

    Angular ngFor无法显示数据<!-bindings = {“ ng-reflect-ng-for-of ::” [object Object]“}->

  25. 25

    为什么primfaces数据表无法访问包含list <Object>的list <Object>中的变量

  26. 26

    解析Backbone.js把手[Object object]

  27. 27

    使用javascript进行JSON解析会返回[object Object]

  28. 28

    无法创建无法识别的别名的实例:widget。[object Object]

  29. 29

    无法创建别名无法识别的实例:widget。[object Object]

热门标签

归档