使用Jquery AJAX将列表框项发送到servlet

时间:2014-04-12 05:22:24

标签: java jquery ajax jsp servlets

我在HTML表单中有一个列表框。我想使用jquery和AJAX将列表项发送到servlet。在服务器端,我想在数据库中逐个添加已发送的列表项。我在我的jsp中使用数组尝试了这个,我在其中填充了列表项,然后使用AJAX发送它,但是在servlet中我得到了NULL。

我的jsp代码:

var arr=new Array();
    var rel=$("#rcombo :selected").text();
    $("#listbox  option").each(function(){
        arr[0]=$("#listbox").text();
    });     

    $.ajax({
        type:"get",
        url:"NewServlet",
        data:{list:arr,rel:rel},
      success:function(){}
});

servlet代码:

String list[]=request.getParameterValues("list");
System.out.println(list);

然后我稍微更改了代码:

JSP:

var arr=new Array();
    var rel=$("#rcombo :selected").text();
    $("#listbox  option").each(function(){
        arr[0]=$("#listbox").text();
    });     

    $.ajax({
        type:"get",
        url:"NewServlet",
        data:{list:arr[0],rel:rel},
      success:function(){}
});

的servlet:

String list[]=request.getParameterValues("list");
System.out.println(list[0]);

现在,我正在获取数据。但是,所有项目都在列表[0]中。我无法逐一提取它们。 请帮帮我。

1 个答案:

答案 0 :(得分:0)

试试这个

$("#listbox  option").each(function(){
        arr.push($(this).text()); // this line push all text in array
});

更改

 data:{list:arr,rel:rel},

AJAX

$.ajax({
            url:"NewServlet",
            type:"POST",
            dataType:'json',
            data: {list:arr,rel:rel},
            success:function(data){
                // codes....
            }
     });

Servlet

String[] list = request.getParameterValues("list[]");