如何将Javascript多维数组值发送到Java Servlet?

时间:2018-07-07 07:44:37

标签: javascript java jquery ajax servlets

我已将文本框的值存储到名为记录(以下代码)的Javascript中的多维数组,并且需要将这些数组对象发送到我的servlet页面。但是我不知道如何获取完整的数组数据。

Javascript代码

function insert(row,col){   
var r = row, c=col; 
var q = new Array(); 
for(i=0; i<r; i++){
    q[i] = new Array(); 
    for(j=0; j<c; j++){
    var pick = "#"+i+j;  // select the id's of textbox 
    q[i][j] = $(pick).val(); // store the textbox value to array
    }
  }
 $.ajax({
    url: 'Insert',
    type: 'post',
    data: {records : q, row: r,field: c },   // need to send the records array
    success: function(result){
        console.log(result);
    }
 });
}

Java代码

protected void doGet(HttpServletRequest request, HttpServletResponse 
 response) throws ServletException, IOException {

 PrintWriter out = response.getWriter();
// need to get the javascript array. but HOW ? 
}

1 个答案:

答案 0 :(得分:1)

您无法使用Ajax发送类似的对象,请使用JSON.stringify()创建JSON字符串,例如

data: JSON.stringify({records : q, row: r,field: c }),

然后如所评论的那样,确定要使用哪种HTTP方法,就像Ajax的类型为post一样,该servlet不会被doGet捕获。


已更新

这是一个很好的答案,详细显示了doPost