}
$('#addAndEditDialog').dialog('close');
$.ajax({
type: 'POST',
url: 'autoMakeHcode?operator=<%=operator%>&onoroff=on',
data: {"chboxValue":JSON.stringify(chboxValue)},
traditional: true,
success: function(data){
$('#datagrid').datagrid('reload');
},
dataType: 'json'
});
}
} ]
后台:
String chboxValue= getRequest().getParameter("chboxValue");
System.out.println("接收到的数组:"+chboxValue);
控制台打印:接收到的数组:["GMSC","MSC"]
这个是String类型 ,有直接的方法转成String类型的数组也可以啊
前台传值到后台,都是按照name属性的,同一name属性的多个值,默认会用一个字符串"a,b,c,d,e"接受到,后台只需要使用split(",")分割一下就可以转换为string[] ,典型的案例就是多选框,一个name,可选多个值
我接受到的是String类型的:String ss= "["a","b","c"] " , 如果拆分会拆成:["a" 和 "b" 和 "c"] ,我要的是String类型的数组:String[] ss=["a","b","c"] ;
@name_zhang: 是你这里的原因:data: {"chboxValue":JSON.stringify(chboxValue)},
chboxValue需要在后台进行json反序列化,然后就可以直接得到集合
@name_zhang:
我是这样用的
PurchaseDetail = JSON.stringify(dataRows);
PurchaseDetail.JsonDeserialize<List<t_Purchase_PurchaseItem>>();
@CodeL: 能再详细点么
@name_zhang: 后台反序列号
@name_zhang: 序列化
@name_zhang: JsonConert.Deserialize<List<string>>();
你用的什么框架,springmvc可以直接接受吧,后者用json转
用的ssm, 这个框架可以转么 ?
有代码么 , 看看
需要JSON.stringify(arr)将数组转为字符串,然后后台再将字符串转为数组
我接收到的是String类型的["GMSC","MSC"],,,,,怎么直接转为数组啊,?
最好直接上代码
@name_zhang: 后台什么语言
@codingHeart: java
@name_zhang: 简单点的可以直接当字符处理了:str.Replace("[","").Replace("]","").Rplit(',') 大致这个意思
@codingHeart: 这样可以解决,既然可以接收到怎么都能弄成我想要的样子。我只是想应该可以直接接受成数组或者直接转成数组,而不需要这么麻烦。我想应该是我传参数或者接受数据的时候少了点什么,想让帮看看,,
@name_zhang: 直接接受数组是不可能的,那是你的错觉,它是序列化之后的字符串,因为前台的数组跟后台的数组不是同一个东西,需要序列化、反序列化,避免不了的。
@codingHeart: 那就是在后台反序列化就可以么, 怎么搞,上点代码啊
@name_zhang:
我不熟悉java的API 参考