首页 > 解决方案 > 如何将 Javascript 多维数组值发送到 Java servlet?

问题描述

我已将文本框的值存储到名为记录的 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 ? 
}

标签: javascriptjavajqueryajaxservlets

解决方案


您不能使用 Ajax 发送这样的对象,JSON.stringify()用于创建 JSON 字符串,例如

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

并且正如评论的那样,决定使用哪种 HTTP 方法,就好像 Ajax 的类型一样post,servlet 不会用doGet.


更新

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


推荐阅读