首页 > 代码库 > form 提交数组的一些trick

form 提交数组的一些trick


在给服务器传值时form
利用 $.post(
"/member/member/book/" + event_id,
{
tickets: tickets,
csrf_ppw_token : csrf_ppw_token,
event_id : event_id,
},
可以将tickets传值一个对象数组。
浏览器caputure是
tickets[0][fullname]:a
tickets[0][telephone]:
tickets[0][email]:
tickets[0][company]:
tickets[0][role]:
tickets[0][cat_id]:1
tickets[1][fullname]:b
tickets[1][telephone]:
tickets[1][email]:
tickets[1][company]:
tickets[1][role]:
tickets[1][cat_id]:1
csrf_ppw_token:575b56d0fa9aba282a0f0e4e8dc14c86
event_id:1
在服务器端也能利用 _post["tickets"]拿到这个数据,但不是一个对象的数组,是一个二维数组了。

而在使用jquery form时,在对formdata手动处理,
var temp = new Object();
temp.name = "tickets";
temp.value = http://www.mamicode.com/tickets;。

这个时间传的object都在浏览器caputure到的是
tickets:[object Object],[object Object]


在这种情况发生时,要换成以下方法赋值:
var ticket = new Object();
ticket.name = "tickets[" + i + "][fullname]";
ticket.value = http://www.mamicode.com/$(this).find($("[name=‘fullname‘]")).val();
formData.push(ticket);


formdata为一个对象数组。