
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数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)