如何在从ajax调用传递的servlet中获取数组

时间:2017-03-06 04:21:13

标签: javascript java jquery ajax servlets

我通过ajax调用从servlet传递一个数组。但是当我试图在servlet端获得相同的时候,我得到空指针异常。我尝试使用SO中给出的一个例子。由于我是新手,任何帮助都将不胜感激!

$.ajax({
				url : 'insertserv1',
				type: 'POST',
				dataType: 'json',
				data: {tablearray:tablearray} ,
		        contentType: 'application/json',
		        mimeType: 'application/json',
				success : function(data) {
							alert('Hi');
						}			
		    });

// to get data from inspection table
		{ var tablearray = [];
			$("#tab_logic tr.data").map(function (index, tr) {
            $(this).find('td').each(function(){
                var $data = $(this).html();
                	if($(this).find("select").length > 0) {
                        var $x = $(this).find("select").val();
                    }else{
 	                	var $x = $(this).find("input[type='text']").val();
 	             	}
                	tablearray.push($x);
            });  	
         });
		}

String[] tablearray = request.getParameterValues("tablearray[]");
		
for (int i = 0; i < tablearray.length; i++) {
  System.out.println(InspTableArray[i]);
}

1 个答案:

答案 0 :(得分:1)

如果我理解正确,这就是你要找的东西:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
    JSONObject jObj = null;
    StringBuilder sb = new StringBuilder();
    BufferedReader br = request.getReader();
    String str = null;
    while ((str = br.readLine()) != null)
    {
        sb.append(str);
    }
    try
    {
        jObj = new JSONObject(sb.toString()); //This is your JSON data.
    }
    catch (JSONException e)
    {
        e.printStackTrace();
    }
}