Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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
从servlet读取javascript数组_Java_Javascript_Arrays_Servlets - Fatal编程技术网

从servlet读取javascript数组

从servlet读取javascript数组,java,javascript,arrays,servlets,Java,Javascript,Arrays,Servlets,我的问题是 如何从servlet读取javascript数组 使用javascript,我正在阅读创建ArrayList的步骤,如下所示: var data1= new Array(); for(var i=1;i<=count;i++){ var Obj=new Object(); Obj.Name=$('#name'+i).val(); Obj.url=$('#empno'+i).val(); data1.push(""+Obj); } $.post("

我的问题是

如何从servlet读取javascript数组

使用javascript,我正在阅读创建ArrayList的步骤,如下所示:

var data1= new Array();
for(var i=1;i<=count;i++){
    var Obj=new Object();
    Obj.Name=$('#name'+i).val();
    Obj.url=$('#empno'+i).val();
    data1.push(""+Obj);
}
$.post("servlet", {'array':data1,mode:"insert" }); 
 [{"Name":"Test","url":"Me"},{"Name":"Test2","url":"Me2"}]

您可以从请求中获取参数

String array = request.getParameter("array");
String mode= request.getParameter("mode");

尝试使用Json.stringify

$.ajax({
        url: 'http://localhost:8080/JasonToServlet/test',
        type: 'POST', 
        dataType: 'json',
        data: {"json[]": JSON.stringify(data1)},
        success: function(result) {
        }
   });
这将以字符串形式解析数组,如下所示:

var data1= new Array();
for(var i=1;i<=count;i++){
    var Obj=new Object();
    Obj.Name=$('#name'+i).val();
    Obj.url=$('#empno'+i).val();
    data1.push(""+Obj);
}
$.post("servlet", {'array':data1,mode:"insert" }); 
 [{"Name":"Test","url":"Me"},{"Name":"Test2","url":"Me2"}]
这里的问题是,上面的结果是字符串而不是数组。因此,您必须使用stringtokenizer来拆分字符串并使其成为数组

从servlet获取以下内容:

String row= request.getParameter("json[]");
String row1= request.getParameter("mode");
StringTokenizer str = new StringTokenizer(row, "[{}]");
List<String> temp = new ArrayList<String>();

while (str.hasMoreElements()) {
    String token = str.nextToken(); 
    if(!token.equal(","))
        temp.add(token);
}

这不是一个完美的解决方案,但它确实有效

请看一看:从servlet中,我使用以下代码读取arraylist字符串[]data=request.getParameterValuesarray[];系统输出打印项次---数据[0];正在打印[object object],请建议如何获取数组中的名称和url