ajax传递array参数
因为一个功能,向后台传递array数组,但是在运行过程中出现了问题,附初始原码如下:
var ticketId = new Array(); for(var i = 0; i < checkboxes.length; i++) { ticketId.push(checkboxes[i].value); } $.ajax({ type:"POST", url:myURL, data: { "ticketId":ticketId }, dataType: "json", success:function(data){} });
在运行过程中,通过调试发现传递到服务器的参数不是ticketId,而全部变成了ticketId[],都多了个[],这让我感觉到很困扰,最终终于找到解决方法,就是为ajax添加一个参数traditional: true,即将代码改成:
$.ajax({ traditional: true, type:"POST", url:myURL, data: { "ticketId":ticketId }, dataType: "json", success:function(data){} });
这样传递的参数就是ticketId,是正确的,后台可以正常处理该参数传递的值了
traditional:将数据转化成序列化的字符串