我通过js中的方法,获得到了页面上的数据,比如是(1 2 3 4)四个数,然后把这四个数放在一个数组中,我再通过$ajax方法中的post方法把这个数组对象发送给servlet,然后输出servlet接收到的数组对象,发现那四个数之间被逗号隔开了,谁能帮忙解释这是什么原因?是servlet里面的处理机制直接对数组处理了嘛?
[b]问题补充:[/b]
感谢sgysgy的回答,我是通过split方法得到了那些数据,但是我就是想问问那个逗号是servlet的处理机制加上去的嘛?
与servlet无关,这个估计是jquery处理的
request.getParameter()得到的是String,你的js的数组java怎么去处理
根据你的描述,可以用如下方法:
String result = request.getParameter("s");
String[] s = result.split(",");
得到数组
当你调用post方法时,JQuery希望输入的参数是一个String类型
但是你输入了一个数组,因此,JQuery自动将这个数组转变为字符串
而且由于是一个数组(在js中也就是一个map),转变出的字符串应该不止一个
最后这些字符串再由servlet拼装,得到了你获取到的用逗号分隔的字符串
不是servlet加的,是你前台用的js框架自己加的。你也可以自己实现,指定不同的间隔符。
[code="javascript"]
var a = [1,2,3,4,5];
var b = a.join("|"); //a结果就是:[1,2,3,4,5],b结果就是:"1|2|3|4|5"
[/code]