我通过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]);
}
答案 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();
}
}