JS获取Struts2数组的方法

JS获取Struts2数组的方法,第1张

json数据格式其实就是字符串类型的键值对格式,并不适合数组传递,其实lz完全可以将数组转换成字符串格式,然后后台写个转换方法就ok了。如:

js代码

var intArray = [1,2,3,4];

var stringInt = "";

for(var i=0;i<intArraylength;i++){

stringInt = stringInt+intArray[i]+",";//连接符其实可以换的

}

stringInt = stringIntsubstring(0,stringIntlength-1);

java代码

public Object[] getArray(String stringArray){

return stringArraysplit(",");//其实这个里面还可以做很多 *** 作,封装对象,过滤,判断等等

}

首先在前端已经获取到这个数组对象:

后端需要接受的json数组格式:

刚开始一直想需要把数组转成json数组,然后再传给后端接口,

最后才发现 ajax请求会自动把数组转成json数组 ,我们就不用再去转一次,

但是最后发现还是报未知错误,经查看发现传给后端的数据变成:0:[Object object]

最后发现在前端向后端传输的数据进行定义:

可以看到当发送数据的方式是“post”的时候,如果不传或者传的是true,就会把发送的json数据转成formdata对象,所以在页面中我们可以看到发送的数据变成了:0:[Object object],1:[Object object]

所以传的值应该是

是 documentgetElementsByName 吧?

另外如果是在IE9或IE9以下,无论表单元素是写name属性或是id属性都会取得到值。

例如

<!doctype html>

<html>

<head>

    <title></title>

    <script type="text/javascript">

        windowonload = function(){

            var value =documentgetElementsByName("a");

            var result = [];

            for(var i =0;i<valuelength;i++){

                resultpush(value[i]value);

            }

           consolelog( resultjoin(","));

        }

    </script>

</head>

<body>

    <input type="text" name="a" value="3"/>

    <input type="text" id="a" value="2"/>

    <input type="text" name="a" value="4"/>

    <input type="text" name="a" value="5"/>

</body>

</html>

在当前版本的 opera,ff,chrome,IE10,IE11中获取的值是 3,4,5,但是在IE9及IE9一下版本获取的是 3,2,4,5

如果是ajax 就直接获取

如果是传到一个页面 就再get

再在js中使用<%=变量名%> 就可以获取了。 可以在js中获取一个变量 但是不能写入一段java代码

以上就是关于JS获取Struts2数组的方法全部的内容,包括:JS获取Struts2数组的方法、前端向后端传一个json数组对象、前端这个JSP这么写了 后端action不知道怎么接收传的json数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9728312.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存