load函数的基本用法:

$("#myID").load("test.jsp");

这句代码将test.jsp的内容加载到当前页面id为myID的标签内。

需要注意的是,用load函数加载test.jsp时,资源的相对路径是基于当前页面而非test.jsp本身。


当我们需要传递参数时,除了可以通过直接在test.jsp后加?param1=aa&param2=bb的方式,而可以有如下的写法:

$("#myID").load("test.jsp",{"param1":"aa"});//传递单个参数
$("#myID").load("test.jsp",{"param1":"aa","param2":"bb"});//传递多个参数

在test.jsp中则用和获取url参数相同的方式来获取load传递的参数:

<%
    		String param1 =request.getParameter("param1"); 
   			String param2= request.getParameter("param2");
       %>
            var param1 = "<%=param1%>";
            var param2 = "<%=param2%>";



上网查阅如何传递数组时被网上的资料坑了。。下面这句广为转载的代码其实是错的= =


$("#myID").load("test.php",{'myinfo[]', ["Adam", "61dh.com"]});[/javascriiptcode]  // 将一个数据作为参数传到test.php中;

正确传递数组的写法,区别仅仅是把逗号改成了冒号:

$("#myID").load("test.jsp",{'arr[]': ["aa", "bb"]});[/javascriiptcode]

传递多个数组:

$("#myID").load("test.jsp",{'arr1[]': ["aa", "bb"],'arr2[]':["cc","dd"]});[/javascriiptcode]

在test.jsp中获取数组参数:

<%  
		String[] arr1 = request.getParameterValues("arr1[]");
		String[] arr2 = request.getParameterValues("arr2[]");
   	%>  
       var arr1 = new Array();
	<%
    	for (int i=0; i<arr1.length; i++)
    	{
	%>
			arr1[<%=i%>] = '<%=arr1[i]%>';
	<%
		}
	%>

java数组转成js的数组写的好丑陋。。。。有没有更好的办法?