我试图通过序列化为数组并将其添加到对象中来使用jQuery保存表单信息。 jQuery正确地发送信息:
action:save
form_data[name]:
form_data[date-requested]:09/23/2014
form_data[purchase-order-requested]:yes
form_data[vendor]:sdf
form_data[item-description[]]:
form_data[item-number[]]:
form_data[cost[]]:
form_data[quantity[]]:
但是,当我尝试print_r发布的数据时,它显示为:
Array
(
[name] =>
[date-requested] => 09/23/2014
[purchase-order-requested] => yes
[vendor] => sdf
[item-description[] =>
[item-number[] =>
[cost[] =>
[quantity[] =>
)
对于包含括号的输入,我该怎么办?
[编辑] 这将是jQuery:
var form_data = form.serializeArray();
var obj = {};
for(var i = 0, l = form_data.length; i < l; i++) {
console.log(form_data[i].name);
var obj2 = {
value: '"' + form_data[i].value + '"',
label: $("label[for='" + form_data[i].name + "']").html()
};
obj[form_data[i].name] = obj2;
}
数组只用print_r打印
[编辑]
如果您注意到第一个代码块,那么这是来自jQuery的POST数据。它使用form_data[cost[]]
发送对象。
但是在第二个代码块中,这是PHP收到的,并且立即print_r()&#39; ed,它会丢失括号,导致cost[