收藏
回答

报错Cannot read property '_id' of undefined ?

虽然报错,但在模拟器上,和测试手机上都可以正常显示。

提交小程序审核,就显示不出来任何数据

VM494:1 (in promise) MiniProgramError

Cannot read property '_id' of undefined

TypeError: Cannot read property '_id' of undefined

    at http://127.0.0.1:36188/appservice/pages/shouye/shouye.js:69:29

提交审核的截图没有数据显示


打印res.data[i]

最后一次编辑于  07-21
回答关注问题邀请回答
收藏

3 个回答

  • xplee
    xplee
    07-19

    估计又是异步的问题,查看一下 i 值

    07-19
    有用 1
    回复 3
    • 郭家汶
      郭家汶
      07-21
      已经打印了i的值
      07-21
      1
      回复
    • xplee
      xplee
      07-21回复郭家汶
      怀疑你for循环内查询数据表,而查询到的数据量和for循环次数不匹配导致找不到某条数据
      07-21
      1
      回复
    • 郭家汶
      郭家汶
      07-21回复xplee
      我擦,果然如此,小于20了。。。应该是19.。。
      07-21
      回复
  • brave
    brave
    07-19

    res.data[i] 打印一下,报错显示没有_id这个属性的。

    07-19
    有用 1
    回复 6
    • 郭家汶
      郭家汶
      07-21
      打印了i的值
      07-21
      回复
    • 郭家汶
      郭家汶
      07-21
      07-21
      回复
    • brave
      brave
      07-21回复郭家汶
      你这确定其中不会出现某一项不存在_id吗,看报错就是其中某一项  例如res.data[100]._id = undefined
      07-21
      回复
    • 郭家汶
      郭家汶
      07-21回复brave
      云数据库不存在没有_id的情况。没有的话,就自动补充了。
      07-21
      回复
    • brave
      brave
      07-21回复郭家汶
      不要说绝对的,你自己建一个新表,只放几条数据你看下报错不
      07-21
      1
      回复
    查看更多(1)
  • 圣殿骑士
    圣殿骑士
    07-19

    打印下 res.data[i] 看下对不对? 我怎么觉得 你这里应该是 res.data 而不是 data[i]?


    07-19
    有用
    回复 6
    • 郭家汶
      郭家汶
      07-21
      打印了i的值
      07-21
      回复
    • 圣殿骑士
      圣殿骑士
      07-21回复郭家汶
      res.data[i] 打印下,看报错是数据对应的少这个字段,id还是 _id?
      07-21
      1
      回复
    • 郭家汶
      郭家汶
      07-21回复圣殿骑士
      _id
      07-21
      回复
    • 圣殿骑士
      圣殿骑士
      07-21回复郭家汶
      看你打印的值,有个undefined的,这里你最好判断下,如果是undefined就continue掉,或者给个初始值,比如这样处理 let _id = res.data[i] && res.data[i]['_id'] || ‘这里填初始值’
      07-21
      回复
    • 圣殿骑士
      圣殿骑士
      07-21回复郭家汶
      因为 如果你一旦有undefined,代码就会报错,所以你这里要判断下的,哪怕100个中99个有值,一个undefined 也要判断的
      07-21
      回复
    查看更多(1)
登录 后发表内容
问题标签