错误解决:Uncaught TypeError: Cannot read properties of null (reading ‘XXX‘).
报错信息:
前端代码:
$(document).ready(function() {$.ajax({ url: "......", type: "GET", dataType: "json", success: function(json) { if (......) { $("#username").val(json.data.username); ......} else {......}},error:function(xhr) {......}});});
这里的目的是打开特定页面后,自动将用户登录后 session 中保存的 username 取出并将值赋给标签。
但是在测试的时候,打开该页面控制台就出现报错。报错意思大概就是你需要的这个 “username” 属性的值本来就是空的,所以无法获取到它的值。
原因有很多:
- 可以console.log,查看一下结果;
- 属性字段不匹配;
- sql语句的问题。
- ......
但我的问题不在上述原因中。
我想既然显示 username 中的值为 null 就说明 session 大概率没有保存用户登录后的信息,既然没有信息那么大概率与控制层有关。而控制层无非包含接口及实现类,且最终将问题锁定在实现类。这里也算是一个小坑:
当编写完接口中的方法,实现类中进行实现的时候,个人往往喜欢通过快捷方式重写实现接口中的方法,而这时加载出的方法默认会返回 null 。在编写方法体完成后没有注意 return 的修改,导致没有返回 User 对象。
这次出错的原因与上次一致,此后还是应该多注意这类错误。
https://blog.csdn.net/m0_56426418/article/details/129895408
控制层代码:
@Overridepublic User ......(......) {// TODO Auto-generated method stubUser user = new User(); ...... // return null;return user;}
如果本篇内容对你有帮助,可否点👍支持一下呢!
来源地址:https://blog.csdn.net/m0_56426418/article/details/130184854
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341