从jQuery序列化数组获取PHP中的数据

时间:2018-09-02 04:16:41

标签: php jquery

我是php的新手,我想从jQuery序列化数组中获取php中的表单数据。在php中,我无法以正确的格式获取此数据。 这是我如何从jquery传递数据

var form_data = jQuery(this).serializeArray();
form_data = JSON.stringify(form_data);

在php中,我已经实现了json_decode函数,但是我仍然无法以有用的格式获取此数组。

$data = json_decode(stripslashes($_POST['data']),true);

它以这种格式返回表单数据

Array
(
[0] => Array
    (
        [name] => fname
        [value] => MyFirstName
    )

[1] => Array
    (
        [name] => lname
        [value] => MyLastName
    )

[2] => Array
    (
        [name] => phone
        [value] => 324242
    )
 [3] => Array
    (
        [name] => institution_name[]
        [value] => institution
    )

[4] => Array
    (
        [name] => degree_name[]
        [value] => Graduated
    )

如何正确地从此数组中获取数据,以便可以正确使用它。我的表单中有超过50个输入字段,而我只有几个字段,例如degree_name [],因此可以有多个然后一个degree_name []输入字段,因此当我有多个具有相同输入字段的输入字段时,如何获取数据名称。感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

如果我正确地阅读了问题,我认为您正在寻找的是:

$data = json_decode(stripslashes($_POST['data']),true);

foreach($data as $row) {
    echo "{$row['name']}: {$row['value']}";
}

答案 1 :(得分:-1)

用于具有相同名称的多个输入字段 在输入字段中使用数组名称, 例如:

<input name="degree_name[]" type="text">