【发布时间】:2015-01-14 14:21:07
【问题描述】:
我需要发送一些二维数组中的数据。我发现你在这里通过 post 发送了一个数组 here 但我需要使用 post 将 2D 数组从我的 javascript 发送到 java servlet。有没有办法做到这一点?
【问题讨论】:
标签: javascript jquery arrays servlets
我需要发送一些二维数组中的数据。我发现你在这里通过 post 发送了一个数组 here 但我需要使用 post 将 2D 数组从我的 javascript 发送到 java servlet。有没有办法做到这一点?
【问题讨论】:
标签: javascript jquery arrays servlets
您可以使用与链接到的示例完全相同的技术。这是因为它使用 JSON 来序列化数据,因此它可以一次性发送整个 JS 数据结构。所以,以这个例子为例,但是为一个二维数组重建它并调整它以发送实际的 JSON:
var obj=[ [1.1, 1.2], [2.1, 2.2], [3.1, 3.2] ];
$.ajax({
url:"myUrl",
type:"POST",
dataType:'json',
success:function(data){
// codes....
},
data:JSON.stringify(obj),
contentType: 'application/json'
});
然后这将向您的服务器发送一个字符串,例如:
"[[1.1,1.2],[2.1,2.2],[3.1,3.2]]"
然后,您的 Java servlet 将不得不反序列化并根据需要使用它。在此示例中,JSON 将作为 RAW 发布数据发送;如果您想通过请求对象获取它,您可以执行以下操作:
var obj=[ [1.1, 1.2], [2.1, 2.2], [3.1, 3.2] ];
$.ajax({
url:"myUrl",
type:"POST",
dataType:'json',
success:function(data){
// codes....
},
data: {json: JSON.stringify(obj)}
});
那么您应该能够从以下位置获取 JSON 字符串:
request.getParameterValues("json");
【讨论】: