Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过jquery一起提交表单和变量_Javascript_Jquery_Ajax_Forms_Form Submit - Fatal编程技术网

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

Javascript 通过jquery一起提交表单和变量,javascript,jquery,ajax,forms,form-submit,Javascript,Jquery,Ajax,Forms,Form Submit,我使用两种类型的提交 有美元。邮政 $.post('servers_side.php', { var1: var1, var2:var2}, function(result) { some code... }); 它将单独的变量发送到服务器端脚本 还有一个提交整个表单的AjaxSubmit插件 $('#form').ajaxSubmit({success: function(result) { some code... } }); 但是现在我有下面的任务,假设我有一个表单和几个变量,我必须

我使用两种类型的提交

有美元。邮政

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

可以使用将数组或对象转换为url友好的名称值。您可能还需要使用将表单数据转换为名称值。以下是您可以进行的操作:

var Vars = {var1: var1, var2:var2};
var varsData = $.param(Vars);

// form data
var formData = $('#formID').serialize();

var data = varsData + '&' + formData;

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

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

<form>
   .
   .
   .
   <input type="hidden" name="var1" id="var1" />
   <input type="hidden" name="var2" id="var2" />
   <input type="hidden" name="var3" id="var3" />
   .
   .
   .
</form>
$("#var1").val("some data 1");
$("#var2").val("some data 2");
$("#var3").val("some data 3");

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

我知道的还不够
ajaxSubmit
,但不会帮助您吗?我遇到了问题。我现在如何提交?使用$.post?你能写样本行吗?如何将这些数据放入$.post?如何在服务器端解码?像数组一样对待它们还是什么?因为如果我发送了数据,那么我必须在那里发布$_(数据)对象,但是我如何访问我的变量呢?在php中?@David:请查看更新的答案。要在服务器端获取它们,需要使用POST数组,后跟var或form元素的名称,例如
$\u POST['name here']
$。POST不能只理解数据。它需要数据:一些东西,否则javascript就会停止。是我做错了什么还是$post不能做我们想做的事?完成!你有“}”,必须删除它