您现在的位置是:综合 >>正文
网页提示null什么意思
综合328人已围观
简介网页提示null,说白了就是后台没给你返回数据,或者返回了个空值。你看见这两个字母的时候,八成是前端代码在拿一个不存在的东西硬干活。 我上周调试一个订单页面就撞上这事。用户点“查看详情”,页面白花花一 ...
网页提示null,网页说白了就是提示后台没给你返回数据,或者返回了个空值。什意思你看见这两个字母的网页时候,八成是提示前端代码在拿一个不存在的东西硬干活。
我上周调试一个订单页面就撞上这事。什意思用户点“查看详情”,网页页面白花花一片,提示控制台里躺着个红字:Cannot read properties of null。什意思查了半天,网页接口返回的提示JSON里压根没有detail这个字段,前端却直接去读data.detail.name。什意思null就是网页那个“没有”,你非要往没有上取东西,提示浏览器只能甩脸子。什意思
还有一种常见情况,是数据库里字段本身存的就是NULL。比如用户没填昵称,你存了个NULL,页面渲染时直接输出{ { user.nickname }},有些框架会显示成空字符串,有些就直接给你弹个null。这不算bug,算数据边界没处理干净。真正恶心的是那种接口偶尔返回null,偶尔返回正常数据——你刷新三次,两次好的一次坏的,这种间歇性抽风最让人抓狂。
别急着怪后端。有时候是前端自己把变量搞丢了。比如异步请求还没回来,你就急着渲染,这时候数据还是undefined,你拿undefined去当对象用,系统给你报的错可能也是null相关。我见过初级工程师写的代码,let res = await fetch(...)后面直接res.data.list,结果fetch失败了,res是null,整页崩掉。
处理办法其实就三板斧。第一,接口文档写清楚哪些字段可能为空,前端做防御性判断,if (data && data.list)这种老土写法永远不过时。第二,后端别偷懒,该给默认值就给默认值,空字符串也好,空数组也好,别动不动甩个null让前端猜。第三,你自己调试的时候,打开开发者工具,看Network面板里接口到底返回了什么——很多时候真相就在那一行响应里。
顺带说个反直觉的事。有些null其实是故意的。比如你删除一条评论,后端返回{ code: 200, data: null },意思是“删干净了,没有后续数据”。这时候前端如果拿data去渲染,那是你的问题,不是后端的。你得看code,别死盯着data。
写代码这行,null就像厨房里的盐罐子空了——你炒菜发现没盐,不是锅的错,是你没提前检查调料。网页提示null,就是在喊:我这儿缺东西,你补上再让我干活。你非不补,它就只能罢工给你看。
Tags:
上一篇:无人驾驶遥控飞艇的价格
下一篇:网贷大数据清理神器
相关文章
常见的土石类型中 土渗透性最大的是
综合卵石层。不是砂土,不是碎石土,是那种粒径超过20毫米、骨架颗粒完全由浑圆或次棱角状石块构成的卵石。如果你在野外见过河床底部那种被水流冲刷得干干净净、大石头之间几乎看不到细颗粒填充的卵石层,你会立刻明白 ...
【综合】
阅读更多岩石渗透试验那个公司能做
综合```html 岩石渗透试验那个公司能做 body { font-family: "PingFang SC", "Microsoft YaHei", sans-serif; line-hei ...
【综合】
阅读更多自己在家看不良网站犯法吗
综合先说结论:自己在家看不良网站,单纯“看”这个行为,在中国现行法律框架下,不构成犯罪。但别急着松口气,事情没这么简单。 我有个朋友在派出所做网警,有次喝酒聊起来,他说他们盯的不是你看了什么,而是你看了之 ...
【综合】
阅读更多