错误解决: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 取出并将值赋给<input>标签。

       但是在测试的时候,打开该页面控制台就出现报错。报错意思大概就是你需要的这个 “username” 属性的值本来就是空的,所以无法获取到它的值。

原因有很多:

  • 可以console.log,查看一下结果;
  • 属性字段不匹配;
  • sql语句的问题。
  • ......

但我的问题不在上述原因中。

       我想既然显示 username 中的值为 null 就说明 session 大概率没有保存用户登录后的信息,既然没有信息那么大概率与控制层有关。而控制层无非包含接口及实现类,且最终将问题锁定在实现类。这里也算是一个小坑:

       当编写完接口中的方法,实现类中进行实现的时候,个人往往喜欢通过快捷方式重写实现接口中的方法,而这时加载出的方法默认会返回 null 。在编写方法体完成后没有注意 return 的修改,导致没有返回 User 对象。

       这次出错的原因与上次一致,此后还是应该多注意这类错误。

https://blog.csdn.net/m0_56426418/article/details/129895408

控制层代码:

@Override
public User ......(......) {
	// TODO Auto-generated method stub

	User user = new User();

    ......
	
    // return null;
	return user;
}

如果本篇内容对你有帮助,可否点👍支持一下呢!

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值