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?
你可以使用$ .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)