通过jquery一起提交表单和变量

我正在使用两种类型的提交。

有$ .post

$.post('servers_side.php', { var1: var1, var2:var2}, function(result) { some code... }); 

它将单独的变量发送到服务器端脚本。

并且有AjaxSubmit插件提交整个表单

 $('#form').ajaxSubmit({success: function(result) { some code... } }); 

但现在我有以下任务,假设我有一个表格和一些变量,我必须同时提交。

那么可以将表单+一些变量一起提交吗?

更新

以下是您提交的方式:

 var Vars = {var1: var1, var2:var2}; var varsData = $.param(Vars); // form data var formData = $('#formID').serialize(); var data = varsData + '&' + formData; $.ajax({ type: 'POST', url: 'servers_side.php', data: data, success: function(res){ alert (res) } }) 

您可以使用jQuery.param()将数组或对象转换为友好的url-name name-value paris。 您可能还需要使用jQuery.serialize()将表单数据转换为名称值paris。 以下是您可以采取的措施:

 var Vars = {var1: var1, var2:var2}; var varsData = $.param(Vars); // form data var formData = $('#formID').serialize(); var data = varsData + '&' + formData; 

现在, data包含您可以在ajax请求中发送的自定义变量和表单元素的所有数据。

嗯,这是可能的,但代码可能看起来很混乱。 作为最佳实践,您应该添加一些hidden字段

 
. . . . . .

并使用此JavaScript为这些hidden字段设置值

 $("#var1").val("some data 1"); $("#var2").val("some data 2"); $("#var3").val("some data 3"); 

您可以继续使用现有的$.post()代码