Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Ajax将JSON数组发送到servlet_Java_Ajax_Json_Servlets - Fatal编程技术网

Java Ajax将JSON数组发送到servlet

Java Ajax将JSON数组发送到servlet,java,ajax,json,servlets,Java,Ajax,Json,Servlets,我制作了一个表,对表中的行和列进行求和。但现在我想计算Servlet中的总和,我将用JSON将列和行数组发送到Servlet。一切正常。但现在的问题是,我如何计算servlet中的行和列的总和并返回 这是我的代码: $(document).on('change',function(){ var columnValues={}, rowValues={}; $("#sum_table tr").each(function(rowIndex){ $("

我制作了一个表,对表中的行和列进行求和。但现在我想计算Servlet中的总和,我将用JSON将列和行数组发送到Servlet。一切正常。但现在的问题是,我如何计算servlet中的行和列的总和并返回

这是我的代码:

  $(document).on('change',function(){

     var columnValues={}, rowValues={};

     $("#sum_table tr").each(function(rowIndex){
          $("td input", $(this)).each(function(colIndex){
            var value=$(this).val();
            // indexes need +1 to get the row number, because 
            // the indexes are 0-based.
            if (undefined===columnValues[colIndex+1]){
              columnValues[colIndex+1]=[];
            }
            if (undefined===rowValues[rowIndex+1]){
              rowValues[rowIndex+1]=[];
            }
            rowValues[rowIndex+1].push(value);
            columnValues[colIndex+1].push(value);

          });

      });
            // send data to server
       $.ajax({
           url: 'ServletPost',
           type: 'post',
           data: {rows:rowValues, columns:columnValues},
           dataType: 'json',
           success: function(data){
               // insert your server-calculated data to dom   
               var rows = data.rows,
                columns = data.columns;

                // insert your server-calculated data to dom   
                $("td.total").each(function(rowIndex){
                    $(this).text(rows[rowIndex+1]);
                });

                $("tr.totalCol td").each(function(columnIndex){
                    $(this).text(columns[columnIndex+1]);
                });
           }
       }); 
});

提前谢谢你

我不会告诉你确切的答案,而是告诉你一个方法

0>

1> 在servlet中的doPost()函数中

 String[] rows= request.getParameterValues("rows[]");
 String[] columns= request.getParameterValues("columns[]");
2> 求和

3> 返回Json结果

response.setContentType("application/json");
PrintWriter out = response.getWriter();
String jsonStr = "{\"rows\": \""+rowsResult+"\",\"columns\":\""+columnsResult+"\"}";
out.print(jsonStr);
out.flush();

整数[]行=(整数[])请求有问题;整数[]列=(整数[])请求。getParemeter(“列”);“无法从字符串强制转换为整数[]”如果您看到C,在行和列中,我必须放置getParameterValues或getParameter?而在jsonStr=“{\'rows\':\”+rowsResult+“\”,\'columns\':\“+columnsResult+“\”}”上;我写错了什么?谢谢大家!@devtreat是一个getParameterValues。@devtreat关于jsonstr的第二个问题是什么?请详细说明一下。试试这个“{\”行\“:\”+rowsResult+“\”,“\”列\“:\”+columnsResult+“\”}”
response.setContentType("application/json");
PrintWriter out = response.getWriter();
String jsonStr = "{\"rows\": \""+rowsResult+"\",\"columns\":\""+columnsResult+"\"}";
out.print(jsonStr);
out.flush();