解决TypeError:Cannotreadpropertiesofnull(reading'xxx')
1.文章目录2.分析问题3.解决错误4.问题总结1.文章目录
今天测试某个页面时,测试妹子报错如下图:
TypeError:无法读取w()atx()的null属性。JS:952:39438)atB在x在b在w。
2.分析问题
ChatGPT最近很流行。我可以用它来帮助我分析问题,如下图:
ChatGPT无法回答我的问题,我只能自己分析这个错误。
将TypeError:Cannotreadpropertiesofnull(reading'type')翻译成中文,即TypeError:Cannotreadpropertiesofnull(reading'type')。
也就是说,json中存在一个值为null的对象。
因为前端使用amis框架,所以后端需要生成amis格式的json对象。
前端拿到amis格式的json对象后,就可以在amis框架中进行渲染了。
由于null对象的出现,amis无法解析对应的属性。
所以,定位到前端空对象的位置,如下图:
其实headerToolbar的格式如下:
'headerToolbar':[{'actionType':'dialog','dialog':{'body':{'api':{'method':'post','url':''},'body':[{'name':'orgname2','id':'u:20230309052540720','label':'社区','type':'输入文本'},{'name':'ifdanger','id':'u:20230309052540725','label':'是否为危化品企业','type':'input-text'}],'type':'表单'},'标题':'新'},'级别':'主要','id':'u:20230309052540213','标签':'新','类型':'按钮'},'bulkActions']
如上面代码所示,正常情况下,headerToolbar有一个type属性。由于上述部分代码值为null,导致amis无法解析type属性,即报TypeError:Cannotreadpropertiesofnull(reading'type')错误。
然后,找到后端生成null对象的代码位置,如下图:
因此需要修改后端代码。
3.解决错误
根据上面的分析可知,由于后端生成的空对象的值,导致amis无法解释后端生成的对象,因此可以进行如下修改:
.if(isNull(addButton)){curdJsonVm=替换(curdJsonVm,'${headerToolbars},','');log.info('型号页面info:{}',JSONUtil.toJsonPrettyStr(curdJsonVm));返回curdJsonVm;}curdJsonVm=替换(curdJsonVm,'${headerToolbars}',JSONObject.toJSONString(addButton));
重启服务即可正常访问,没有任何错误提示:
4.问题总结
如果像TypeError:Cannotreadpropertiesofnull(reading‘xxx’)这样的错误不是由后端引起的,通常是因为您的json对象中存在null对象。
本来,你普通的json对象是有一定属性的,框架可以解析这个属性。
但是,当出现空对象时,前端框架无法解析空对象的属性。
大家好,今天小编关注到一个比较有意思的话题,就是关于烟台iso培训学校的问题,于是小编就整理了4个相关介绍烟台iso培训学校的解答,让我们一起看看吧。Gp12是…
大家好,今天小编关注到一个比较有意思的话题,就是关于培训学校iso认证的问题,于是小编就整理了5个相关介绍培训学校iso认证的解答,让我们一起看看吧。ISO与Q…
Vue中组件间通信的六大方法-总结方式一:props/$emit父组件向子组件传值通过一个例子,讲解父组件如何向子组件传值:如何获取父组件App.vue中的数据…
【Vue3】获取DOM节点的几种方式1.原生js获取DOM节点:document.querySelector(selector)document.getElem…
EasyExcel解析动态表头并导出前言Excel文件导入导出,这是日常开发中经常遇到的需求。这次笔者以EasyExcel为例,详细介绍一下项目中遇到的动态头解…
2024-09-21 03:23:46
2024-09-21 02:52:45
2024-09-21 02:39:04
2024-09-21 02:23:53
2024-09-21 02:01:43
大家好,今天小编关注到一个比较有意思的话题,就是关于长治市培训机构的问题,于是小…
大家好,今天小编关注到一个比较有意思的话题,就是关于电脑壁纸学建筑的问题,于是小…