我有一个ajax调用,它发送如下数据:
$.ajax({
type:'POST',
url:URL
data:{'fexx': $('#form').serialize()},
....
要解析php控制器中的数据(我正在使用Codeigniter)我收到这样的话:
parse_str($this->input->post('fexx'), $arr);
当我打印$ arr的内容时,它会带来这样的信息:
Array
(
[message_hello] =>
[hel] =>
)
而不是像这样显示:
Array
(
[message] => hello
[help] => 0
)
你知道这种行为的原因吗?提前谢谢!
答案 0 :(得分:1)
你在这里混合方法。如果您序列化表单数据,则不会以键值对的形式提供它。 Serialize为您做到了这一点。
data:{'fexx': $('#form').serialize()},
尝试此操作并修改您的php以适应,或删除序列化并指定每个键=>单独价值
data: $('#form').serialize(),