本文主要是介绍Jquery-Uncaught ReferenceError: $ is not defined报错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在我的jsp页面上有这些js代码:
//加载数据$(document).ready(function() {var param={};param.page=3;param.size=10;$.post(home+"/user/queryAllInfo",param,function(result){if(result !=null && result.success){var obj =result.rows;for ( var i = 0; i < obj.length; i++) {var user =obj[i];var tr = "<tr><td>"+ user.MEMBERNAME+ " </td> <td>"+ user.ACCOUNTNUMBER+ " </td> <td>"+ user.AGE+ " </td> <td>"+ user.GENDER+ " </td> <td>" + user.BIRTHDAY+ " </td> <td>" + user.MEMBER_LABEL+ " </td>";$(".userTable").append(tr);}}else{alert(result.msg);}},"json");}); function onOK()
{alert("OK?");$("#loaddiv").text("ok");
}
当访问这个页面时,google浏览器按F12 会提示Uncaught ReferenceError: $ is not defined 错误,并提示是 $(document).ready(function() { 是这行出错。
猜想: 1.以为是引入的jquery.js 文件版本的不匹配,更换后还是出错。
2.有以为是导入的其他js文件产生冲突导致的。
3. jquery.js文件的路径错误。
4. 加载js文件的顺序的问题,又把jquery.js放到第一位。
上面几种方法还是提示出错。
接着在页面 添加了一个 onOK()事件,里面有$("#loaddiv").text("ok"); 发现这个可以没有问题,所以觉得应该不是jquery.js的错误。
把代码放到 onOk函数中:如下
function onOK()
{alert("OK?");var param={};param.page=3;param.size=10;$.post(home+"/user/queryAllInfo",param,function(result){if(result !=null && result.success){var obj =result.rows;for ( var i = 0; i < obj.length; i++) {var user =obj[i];var tr = "<tr><td>"+ user.MEMBERNAME+ " </td> <td>"+ user.ACCOUNTNUMBER+ " </td> <td>"+ user.AGE+ " </td> <td>"+ user.GENDER+ " </td> <td>" + user.BIRTHDAY+ " </td> <td>" + user.MEMBER_LABEL+ " </td>";$(".userTable").append(tr);}}else{alert(result.msg);}},"json");$("#loaddiv").text("ok");
}
发现没有出现之前的Uncaught ReferenceError: $ is not defined 错误,而是提示 406 (Not Acceptable) ,百度查找后406 (Not Acceptable)后才知道原来在controller控制层用到了@ResponseBody ,要把对象转换成json格式,缺少转换依赖的jar包 ,后来添加了jackson-xc-1.8.3.jar ,jackson-mapper-asl-1.9.2.jar jackson-core-asl-1.9.2.jar ,jackson-jaxrs-1.8.3.jar ,json-lib-2.4-jdk15.jar 这些包,程序运行正常了。
json包下载:http://download.csdn.net/detail/u013147600/9023171
这篇关于Jquery-Uncaught ReferenceError: $ is not defined报错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!