其他分享
首页 > 其他分享> > JQuery 传递数组到后台后台 后台接收不到参数

JQuery 传递数组到后台后台 后台接收不到参数

作者:互联网

 

//创建数组
var ids = [];
ids .push(1);
ids .push(2);
ids .push(3);
//向后台交互
$.ajax({
  url: "/xxx",
  type: "POST",
  data: {
    "ids ": ids 
  },
  success: function(data) {
    //do sth...
  }
});

后台接口

 public ActionResult Test(Array ids) { }

浏览器ajax请求参数成为了  ids[]

 

 

在ajax请求添加‘traditional: true’   

默认的话,traditional为false,即jquery会深度序列化参数对象,以适应如PHP和Ruby on Rails框架, 
但servelt api无法处理,我们可以通过设置traditional 为true阻止深度序列化,

//创建数组
var ids = [];
ids .push(1);
ids .push(2);
ids .push(3);
//向后台交互
$.ajax({
  url: "/xxx",
  type: "POST",
  data: {
    "ids ": ids 
  },
  traditional: true,//这里设置为true
  success: function(data) {
    //do sth...
  }
});

此时查看ajax请求参数,就是想要实现的效果了

 

标签:JQuery,ids,traditional,push,ajax,数组,后台,true
来源: https://www.cnblogs.com/mtjj/p/16172891.html