我可以通过JQuery $ .post发送序列化数据和其他变量吗?

所以我想说我想基本上这样做:

$.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(); }); 

您想要使用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的解决方案一起使用 。

假设serialzed_data是key – > value属性的对象,请使用jQuery.extend() ,例如

 var data = $.extend({}, serialzed_data, { save: form.save.value, is_correct: form.is_correct.value, // etc }); $.post('search_item.php', data, ... 
 data: { 'formData' : $("#someForm").serialize(), 'anotherParameter' : 'someOtherData', and so on .... }, 

我尝试了cakar的方法,它的工作非常精彩。 在php文件中使用parse_str()来获取从jquery传递到数组的序列化数据