我有一个包含多个字段的表单,帖子输出如下:
Array(
[query] => Array
(
[categories] => Array
(
[0] => 344
[1] => 64
),
[ages] => Array
(
[0] => 23
[1] => 10
)
)
[post_type] => product
[section] => my_section
[action] => my_action
[page] => 1
)
所以我想通过具有类似json结构的ajax发送表单,但是当serialiasing
我的表单和json.stringify
结果时,我得到了不同的结构,这将不适用于我的搜索引擎类:
var datas = my_form.serializeArray();
console.log(JSON.stringify(datas));
/// OUTPUT
var j = [{
"name":"query[categories][]",
"value":"344"
},
{
"name":"query[categories][]",
"value":"64"
},
{
"name":"query[ages][]",
"value":"23"
} ....
对于json我需要以下结构:
{ "query":{
"categories":[
"344",
"64"
]},
"post_type":"product",
"section":"my_section",
"action":"my_action",
"page":"1"
}
是否可以从表单中"flat" the json
获得良好的结构?还是有任何解决方案?我真的需要良好的结构。
谢谢
答案 0 :(得分:0)
$.ajax({
type: $(form).attr('method'),
url: $(form).attr('action'),
data: $(form).serialize(),
dataType: 'json',
success: function (data) {
},
error: function (xhr, ajaxOptions, thrownError) {
}
});