java获取ajax传过来的javascript中的数组

 
 

ajax部分代码:获取name为categories的checkbox的内容

var categories=new Array();
//遍历多选框
$("input[name='categories']").each(function(i,item){
    if(item.checked){
         categories.push($(this).val());
    }
});
$.ajax({
	url:"doSearch.do",
	type:"post",
	data:{"searchContent":$content,"categories":categories},......
java部分代码:
		String[] arr=request.getParameterValues("categories[]");
		if(arr!=null) {
			for(String s:arr) {
				System.out.println(s);
			}
		}
		System.out.println("-------");
		String[] arr1=(String[]) request.getParameterMap().get("categories[]");
		if(arr1!=null) {
			for(String s:arr1) {
				System.out.println(s);
			}
		}
		Object arr2=request.getParameter("categories[]");
		System.out.println("arr2:"+arr2);
  System.out.println(request.getParameterMap());
输出结果为:
病程记录
麻醉记录
其他纪录
-------
病程记录
麻醉记录
其他纪录
arr2:病程记录
{searchContent=[Ljava.lang.String;@4990b53a, categories[]=[Ljava.lang.String;@4daf38d0}

一开始的时候,获取数组时候没有加上“[ ]”一直输出为null,在看到reques.getParamerMap( )的结果后,发现它会自动加上“[ ]”,所以修改代码,将categories后面加上“[ ]”,遍历获得的数组,可以看到request.getParamerValues( )和request.getParamerMap( )做一些处理可以得到预期效果,但是request.getParamer( )只能获得一个。

猜你喜欢

转载自blog.csdn.net/henrymrz/article/details/79034275