我对ajax有一点疑问:
当我发送没有ajax的基本表单时,我通常会给它的字段的name属性赋一个前缀,所以它们被分组在一个数组中。
Ex:以form1[a], form1[b] and form2[a]
作为字段名称,我将按相应的前缀分组。
(form1[a, b] and form2[a]
)
现在我想用ajax发布所有内容。
我被迫在JSON中编码我的字段数组,因为php无法通过ajax处理括号(我得到了'form1[a"
')。
当我做var_dump($ _ POST)时,我的字段没有分组,它们的名字包含前缀!
我怎样才能取得好成绩?
我希望有人能理解我的问题,谢谢你能提供帮助!
编辑:
所以,我找到了一种让它发挥作用的方法。 我无法序列化整个表格,因为有关的输入是我唯一想要的,而不是其他的。
所以我的解决方案是:
将每个序列化输入存储在一个数组中。
解码字符串,因为括号已转换为%5D
fields.push($(this).serialize());
decodeURI(fields.join('&'));
发送所有内容......
然后在php:
parse_str($_POST, $data);
结果是:
array(form1 => array(a=1, b=2), b => array(a=1))
YAAY:D
答案 0 :(得分:0)
尝试发送serialized
数据,这对我有用:
$.ajax({
/// your parameters
data: $('yourFormSelector').serialize()
});