我在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]中。我无法逐一提取它们。 请帮帮我。
答案 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[]");