php无法在php中获取序列化数据
我使用jQuery将表单数据转换为序列化表单,使用:php无法在php中获取序列化数据,php,jquery,serialization,Php,Jquery,Serialization,我使用jQuery将表单数据转换为序列化表单,使用: var data = $('#frm').serialize(); 在php中,我得到以下信息: fiscalyear\u id=4&category=category+A&isgraph=on&Title=A&Title=b&Value=b&category=category+b&Title=c&Value=c&Title=d&Value=d&category=category+c&Title=e&Value=e&Title=f&Valu
var data = $('#frm').serialize();
在php中,我得到以下信息:
fiscalyear\u id=4&category=category+A&isgraph=on&Title=A&Title=b&Value=b&category=category+b&Title=c&Value=c&Title=d&Value=d&category=category+c&Title=e&Value=e&Title=f&Value=f&data=&csrf_check=9c288285b379701b27c3836091c00b04
当我这样做的时候:
parse_str($_POST['data'], $data);
pretty_print($data);
我得到:
Array
(
[fiscalyear_id] => 4
[category] => Category C
[isgraph] => on
[Title] => f
[Value] => f
[data;] =>
[csrf_check] => 9c288285b379701b27c3836091c00b04
)
可以看出,并非所有参数都在上面的数组中出现。有人知道我做错了什么吗?感谢您的帮助parse\u str解析变量中的字符串,然后将其放入数组中。 但不可能有重复的数组键
因此,您无法获得所有值,因为它们具有相同的键 您的值正在重新签名,因此您只看到最后一个值-Title=a…Title=b。请出示您的表格HTMLY您有重复的钥匙。为什么不在客户端使用Value[?
&Title=c&Value=c&Title=d
这不是发送数据的正确方式,应该是&Title[]=c&Value[]=c&Title[]=d
等等。。因为它应该是数组格式,否则POST或GET将只获取最后一个值。由于重复的键,数组中的值将被覆盖。