错误问题: Cannot read property ‘XXX‘ of undefined

undefined不能读取属性XXX

说明定义变量里的值是undefined

查看报错的代码顺藤摸瓜:

那打印console看一下 (很关键, 一定要学会打印)
有可能是代码的书写错误了(大意写错了)

*当发现问题后, 要学会顺腾摸瓜, 变量只是个代号, 而变量里装的什么只有打印出来才知道

错误代码:

var arr = res.date;
arr.forEach(function(obj){
    let {id, publisher, author, bookname} = obj;
    var theTr = `<tr>
<td>${id}</td>
<td>${bookname}</td>
<td>${author}</td>
<td>${publisher}</td>
<td>
<a href="javascript:;" class="del">删除</a>
</td>
</tr>`;
    $("#tb").prepend(theTr);
})

错误报告:

错误分析:

是arr读取的forEach方法, 报错说arr是个undefined(说明arr变量里的值是undefined)
顺藤摸瓜:
那么观察arr的值是在上面res.date给的
那打印res观察 (很关键, 一定要学会打印)
发现res的数据再data属性上, 而非date. 发现是拼写错误

解决:

var arr = res.data;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Try Tomato

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值