JAVA前后台传递数组方法总结

来源:互联网 发布:unity引擎底层源码 编辑:程序博客网 时间:2024/05/18 02:13

1、从前台向后台传递数组
需求是:比如相同name的几个控件的value要传递到后台进行比较处理

        var CA_CERT = document.getElementsByName("CA_CERT");        var _list = [];          for (var i = 0; i < CA_CERT.length; i++) {              _list[i] = CA_CERT[i].value;          }         $.ajax({            url:'ca?event=testCertList',            data:{"caCertArray":_list},             traditional :true,  //注意这个参数是必须的            type: "POST",              success:function(result){                if(result == "GOOD"){                    document.getElementById("stage_two").style.display="";                }else if(result == "ERROR"){                    alert("所上传证书不是一个完整的证书链,请重新上传!");                }            }        });    }

后台获取:

String[] caCertArray = request.getParameterValues("caCertArray");









后台向前台传递,可以先将数组放在JSONArray中(需要引入第三方jar包),然后放入response中,前台获取后需要先用eval()方法处理一下才可以使用。

        JSONArray jsArr = new JSONArray();        jsArr.add(subject);        jsArr.add(strStartDate);        jsArr.add(strEndDate);        response.getWriter().write(jsArr.toString());

前台获取:

        $.ajax({            url:'ca?event=getCertChainUnderInfo',            data:{"caCertArray":_list},            traditional:true,            type:"POST",            success:function(result){                //eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。                //在这里是将String转化为数组形式                var  datas= eval(result);                  document.getElementById("label_CA_SUBJECT").innerText = datas[0];                document.getElementById("label_CA_BEGIN_TIME").innerText = datas[1];                document.getElementById("label_CA_END_TIME").innerText = datas[2];            }         });








在jquery的ajax函数中,可以传入3种类型的数据

1.文本:”uname=alice&mobileIpt=110&birthday=1983-05-12”

2.json对象:{uanme:’vic’,mobileIpt:’110’,birthday:’2013-11-11’}

3.json数组:

[
{“name”:”uname”,”value”:”alice”},
{“name”:”mobileIpt”,”value”:”110”},
{“name”:”birthday”,”value”:”2012-11-11”}
]

1 0
原创粉丝点击