PHP从发送的jQuery表单数据中丢失Square Brackets

时间:2014-09-25 18:49:10

标签: php jquery

我试图通过序列化为数组并将其添加到对象中来使用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[

0 个答案:

没有答案