1、问题描述
使用jquery的ajax访问访问后台struts2的action,发现struts2没有接收到前台传来的数据,后来发现是ajax解析数组时出了问题。代码和ajax解析数组时如下:
ajax代码:
$.ajax({
url:"${pageContext.request.contextPath}/userAction_deleteUsers",
async:true,
type:"POST",
data:{"user_ids":user_ids},
success:function(data){
alert(data);
},
error:function(){
alert("失败!!!");
},
});
后台struts2接受参数:
private Integer[] user_ids;
public Integer[] getUser_ids() {
return user_ids;
}
public void setUser_ids(Integer[] user_ids) {
this.user_ids = user_ids;
}
ajax解析如下:
2、解决方法
在jquery的ajax中加入这个属性,ajax就不会在解析数组时加一个中括号了“[]”
traditional:true
$.ajax({
url:"${pageContext.request.contextPath}/userAction_deleteUsers",
traditional:true,
async:true,
type:"POST",
data:{"user_ids":user_ids},
success:function(data){
alert(data);
},
error:function(){
alert("失败!!!");
},
});