我需要发送一些2D数组中的数据。我发现你通过帖子在这里发送了一个数组 here但我需要从我的javascript中使用post发送一个2D数组到java servlet。有没有办法做到这一点?
答案 0 :(得分:1)
您可以使用与链接示例完全相同的技术。这是因为它使用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");