如何将数据从javascript作为多维数组发送到PHP

Ale*_*lex 1 javascript php forms jquery

我正在使用$.ajax将表单的值发送到PHP脚本.

表单输入字段由PHP读取为数组,但我不知道如何使用javascript和jQuery执行相同的操作,并以PHP能够像数组一样读取它们的方式发送它们.

例如foo[bar],用PHP 命名的输入就是它$_POST['foo']['bar']

目前我正在发送这样的数据

data:{
   foo_bar: $('form').find('#foo_bar').val(),
   foo_xxx: $('form').find('#foo_xx').val()
},
Run Code Online (Sandbox Code Playgroud)

并在PHP脚本中手动组装数组.

但它开始采用大量代码.我可以以某种方式自动化这个,并将所有表单输入作为多维数组发送到PHP?

mob*_*ius 5

你可以使用$ .serialize();

data: {
  d: $('form').serialize()
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请访问:http://api.jquery.com/serialize/

它会发回一个字符串field=value&field2=value&,你可以parse_str用来处理它

parse_str示例:

$foo = "t[]=1&t[]=2&b=3";
parse_str($foo, $bar);
var_dump($bar);
Run Code Online (Sandbox Code Playgroud)

结果:

array(2) {
  ["t"]=>
  array(2) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
  }
  ["b"]=>
  string(1) "3"
}
Run Code Online (Sandbox Code Playgroud)