jQuery的form.serialize和其他参数

是否有可能通过一个$.ajax()请求发送一个form.serialize()对象和其他参数?

例:

 $.ajax({ type : 'POST', url : 'url', data : { $('#form').serialize(), par1 : 1, par2 : '2', par3: 232 } } 

如果不是与其他参数一起提交表单的最佳方式。

谢谢

serialize()有效地将表单值转换为有效的查询string,因此您可以简单地追加到string:

 $.ajax({ type : 'POST', url : 'url', data : $('#form').serialize() + "&par1=1&par2=2&par3=232" } 

或者,如果将参数存储在某个对象variables中,则可以使用form.serialize()和$ .param(object)。 用法是:

 var data = form.serialize() + '&' + $.param(object) 

请参阅http://api.jquery.com/jQuery.param以获取进一步参考。;

我不知道,但以上都没有为我工作,然后我用这个,它的工作:

在窗体的序列化数组中,它被存储为键值对

我们在表单variables中将新值或新值推入,然后我们可以直接传递这个variables。

 var form = $('form.sigPad').serializeArray(); var uniquekey = { name: "uniquekey", value: $('#UniqueKey').val() }; form.push(uniquekey); 

你可以创build一个使用jQuery的辅助表单,并使用其他表单的内容,然后添加其他的参数,所以你只需要在ajax调用中序列化它。

 function createInput(name,value){ return $('<input>').attr({ name: name, value: value }); } $form = $("<form></form>"); $form.append($("#your_form input").clone()); $form.append(createInput('input_name', 'input_value')); $form.append(createInput('input_name_2', 'input_value_2')); .... $.ajax({ type : 'POST', url : 'url', data : $form.serialize() } 

我在声明中解决了这个问题。 用同一个GET方法发送数据

 $.ajax({ url: 'includes/get_ajax_function.php?value=jack&id='+id, type: 'post', data: $('#b-info1').serializeArray(), 

并用$ _REQUEST ['value']或$ _GET ['id']获取值