• 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



  • 相关阅读:
    靶机练习
    靶机练习
    靶机练习
    CTF-攻防世界-Web_php_unserialize(PHP反序列化)
    漏洞复现
    靶机练习
    靶机练习
    靶机练习
    糗事集合
    慕课前端入门-JS事件
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/7079147.html
Copyright © 2020-2023  润新知