开发者社区> 问答> 正文

前台Ajax传输JS数组到Struts2

前台通过jQuery传输JS对象数组,Struts2 Action中如何解析?

我的代码:

$("#myButton").live("click",function() { 
        // k为JS对象数组
        var k=MYLIST.getSelected();
        var l=new Array();
        for(var d=0;d<k.length;d++) {
            var f={
                isDir:k[d].getType()=="file"?0:1,
                hId:k[d].getType()=="file"?k[d].getHId():0,
                path:k[d].path()
            };
            l.push(f);
 
        }
 
        var g=new class_filelist_file_operations();
        g.setPathNodes(l);
 
        var d = {
            act : "td",
            dlpathlist : g.getPathNodes()
        };
 
        // 以下部分是自己封装的jQuery Ajax 
        var c = new my.FService();
        c.url = "file_tDownload";
        c.myAJAX({
            data : d, // 传输到Action的数据
            success : function(h) {
            },
            error : function(h) {
            }
        })
});
通过调试抓包查看传输到后台的数据格式为:

act:tardown
dlpathlist[0][isDir]:1
dlpathlist[0][hId]:0
dlpathlist[0][path]:/testtest/测试新建文件夹
dlpathlist[1][isDir]:0
dlpathlist[1][hId]:20
dlpathlist[1][path]:/testtest/Java程序员要去的网站.txt

请问我在Struts2 Action中如何获得 dlpathlist 传输的JS对象数组中的值?谢谢大家~

展开
收起
a123456678 2016-07-08 15:52:03 3277 0
1 条回答
写回答
取消 提交回答
  • 前端 如下修改dlpathlist 的值:将g.getPathNodes()解析出JSON字符串。问题解决。

    var d = {
    
     act : "td", 
     dlpathlist : JSON.stringify(g.getPathNodes()) 
    };
    2019-07-17 19:53:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载