如果html表单有多个具有相同名称的输入,则Servlet会将其理解为Array:
形式:
<form>
User 1:<input name="user" />
User 2:<input name="user" />
User 3:<input name="user" />
<input type="submit" />
</form>
的Servlet
String[] user = request.getParameterValues("user");
但是如果我使用jQuery进行ajax调用,并将数组作为参数发送,它会在属性名称中添加“[]”
使用Javascript:
$.ajax({
...
data:{
user: ["value1", "value2", "value3"]
}
});
检查请求的标头,发送数据:
表单数据
user[]=value1&user[]=value2&user[]=value3
我知道我可以在getParameterValues的参数末尾添加[],但我更喜欢jQuery不发送[]
我该怎么做?
答案 0 :(得分:2)
如果您希望使用traditional
option的传统风格,则需要将param serialization设置为true
:
$.ajax({
...
data:{
user: ["value1", "value2", "value3"]
},
traditional: true
});
使用此请求将如下所示:
user=value1&user=value2&user=value3