load函数的基本用法:
$("#myID").load("test.jsp");
这句代码将test.jsp的内容加载到当前页面id为myID的标签内。
需要注意的是,用load函数加载test.jsp时,资源的相对路径是基于当前页面而非test.jsp本身。
当我们需要传递参数时,除了可以通过直接在test.jsp后加?param1=aa¶m2=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的数组写的好丑陋。。。。有没有更好的办法?