所以我想说我想基本上这样做:
$.post(
'search_item.php',
{
serialzed_data,
save: form.save.value,
is_correct: form.is_correct.value ,
etc...
}
)
这样做的正确语法是什么?
非常感谢,编辑指定:
让我说我有这个:
$.post(
'search_item.php',
{
'checks':post_data,
'option[]':option,
save: form.save.value,
item: form.item.value,
name: form.i_name.value,
desc: form.i_desc.value,
text: form.i_text.value
},
function(output) {
$('#return2').html(output).show();
});
现在使用当前.post我想将其添加到它并将它们一起发布:
var serialized_data = $('input[name^="checks"]:checked').serialize();
我能做到吗?
编辑最新尝试:
var post_data = $('input[name^="checks"]:checked').serialize();
var data = $.extend({}, post_data, {
'option[]':option, save: form.save.value,
item: form.item.value,
name: form.i_name.value,
desc: form.i_desc.value,
text: form.i_text.value
});
$.post('search_item.php', data ,
function(output) {
$('#return2').html(output).show();
});
答案 0 :(得分:4)
假设serialzed_data
是密钥的对象 - >值属性,使用jQuery.extend(),例如
var data = $.extend({}, serialzed_data, {
save: form.save.value,
is_correct: form.is_correct.value,
// etc
});
$.post('search_item.php', data, ...
答案 1 :(得分:1)
您希望使用serializeArray代替.serialize
将元素转换为字符串,而不是数组),如下所示:
$.post('search_item.php', {
serializedData: $('input[name^="checks"]:checked').serializeArray(),
extraVar: value
},
function(output) {
$('#return2').html(output).show();
});
serializedData
将是一个数组,而不是'字典',所以你必须在另一端解析它。
实际上...... .serialize
也可以正常工作。如果您在后端使用PHP,则必须通过parse_str传递它。
或者您可以创建键/值对的实际对象,并使用Phil的解using this。
答案 2 :(得分:1)
data: {
'formData' : $("#someForm").serialize(),
'anotherParameter' : 'someOtherData',
and so on ....
},
答案 3 :(得分:0)
我尝试了cakar的方法并且效果很好。在php文件中使用parse_str()来获取从jquery传递到数组的序列化数据