我已将文本框的值存储到名为记录(以下代码)的Javascript中的多维数组,并且需要将这些数组对象发送到我的servlet页面。但是我不知道如何获取完整的数组数据。
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);
}
});
}
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
// need to get the javascript array. but HOW ?
}
答案 0 :(得分:1)
您无法使用Ajax发送类似的对象,请使用JSON.stringify()
创建JSON字符串,例如
data: JSON.stringify({records : q, row: r,field: c }),
然后如所评论的那样,确定要使用哪种HTTP方法,就像Ajax的类型为post
一样,该servlet不会被doGet
捕获。
已更新
这是一个很好的答案,详细显示了doPost