错误解决:Uncaught TypeError: Cannot read properties of null (reading ‘XXX‘).

报错信息:

错误解决:Uncaught TypeError: Cannot read properties of null (reading ‘XXX‘)._第1张图片

前端代码:

$(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

控制层代码:

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

	User user = new User();

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

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

你可能感兴趣的:(java,开发语言,经验分享)