• 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



  • 相关阅读:
    指针简单笔记
    Subway Lines (树链剖分+线段树)
    C#运动控制指示灯闪烁和系统复位(两个子窗体交互:一个子窗体按钮控制另外一个子窗体的方法)
    C# “|” 和 “||” “&”和“&&”区别
    2022/4/112022/4/16
    《Effective Modern C++》概览
    实验一 密码引擎4国䀄算法交叉测试
    实验一
    关于DDMS不显示进程的解决方法
    JNI接口native函数调用过程
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/7079147.html
Copyright © 2020-2023  润新知