从servlet中检索javascript数组

时间:2017-03-19 11:14:01

标签: javascript java ajax servlets

如果data1和data2是javascript数组

例如[" aa"," bb"]和[" xx"," yy"]

  $.ajax({
    url : 'testServlet',
    type: 'post',
    data : 
        [{"array1" : data1},
         {"array2" : data2}]
    ,
    success : function(responseText) {
        //...
    }
});

如何从testServlet中检索它?

或者我的数据是否必须采用json格式?(不熟悉此部分)

我尝试过使用

 String[] data= request.getParameterValues("array1");

但它是空的

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码段打印出请求参数及其值:

Enumeration params = httpRequest.getParameterNames();
while(params.hasMoreElements()){
    String paramName = (String)params.nextElement();
    System.out.println(paramName + " = " + httpRequest.getParameter(paramName));
}

这应该打印所有参数和值。这将帮助您检查/调试在服务器端检索的内容。

答案 1 :(得分:0)

var test = [{"array1" : data1},
         {"array2" : data2}];

$.ajax({
    type: 'post',
    url: 'testServlet',
    dataType: 'JSON',
    data: { 
      test: JSON.stringify(test)
    },
    success : function(responseText) {
    //...
}
});

并且,testServlet

String json = request.getParameter("test");