【问题标题】:sending a 2d array jquery post to java servlet将二维数组 jquery 帖子发送到 java servlet
【发布时间】:2015-01-14 14:21:07
【问题描述】:

我需要发送一些二维数组中的数据。我发现你在这里通过 post 发送了一个数组 here 但我需要使用 post 将 2D 数组从我的 javascript 发送到 java servlet。有没有办法做到这一点?

【问题讨论】:

    标签: javascript jquery arrays servlets


    【解决方案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");
    

    【讨论】:

    • 那么我如何将二维数组反序列化为我的 servlet 端的二维字符串数组?
    • 查看 json.org 网站 - json.org/java ...您需要从原始 POST 数据中提取 JSON 字符串。
    猜你喜欢
    • 2011-02-19
    • 1970-01-01
    • 2010-12-22
    • 2016-05-04
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多