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不能做我们想做的事?完成!你有“}”,必须删除它