2017-10-16 125 views
0

我有一个AJAX调用,它发送数据是这样的:parse_str添加下划线到索引和追加值

$.ajax({ 

    type:'POST', 
    url:URL 
    data:{'fexx': $('#form').serialize()}, 
    .... 

而解析在PHP控制器,其数据(我使用笨)我收到这样的:

parse_str($this->input->post('fexx'), $arr); 

当我打印的$内容改编它带来这样的信息:

Array 
(
    [message_hello] => 
    [hel] => 
) 

代替显示它是这样的:

Array 
(
    [message] => hello 
    [help] => 0 
) 

你知道这种行为的原因吗?提前致谢!

回答

1

你在这里混合的方法。如果您序列化表单数据,那么您不提供键值对。 Serialize为你做到这一点。

data:{'fexx': $('#form').serialize()}, 

试试这个,修改你的PHP,以适应或删除连载,并指定每个键=>值分别

data: $('#form').serialize(), 
+0

谢谢您的回答。我知道我可以做到这一点,但我也想添加其他值,因为该“fexx”索引让我直接保存一些信息。 –

+0

如果您只序列化并提交所有没有fexx的表单数据,那么它将作为键值对在$ _POST数组中可用 – miknik