我正在使用两种类型的提交。
有$ .post
$.post('servers_side.php', { var1: var1, var2:var2},
function(result)
{
some code...
});
将单独的变量发送到服务器端脚本。
还有AjaxSubmit插件提交整个表单
$('#form').ajaxSubmit({success: function(result)
{
some code...
}
});
但现在我有以下任务,假设我有一个表格和一些变量,我必须同时提交。
那么可以将表格+一些变量一起提交吗?
答案 0 :(得分:2)
以下是您提交的方式:
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值名称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请求中发送的自定义变量和表单元素的所有数据。
答案 1 :(得分:0)
嗯,这可能,但代码可能看起来很混乱。作为最佳做法,您应添加一些hidden
字段
<form>
.
.
.
<input type="hidden" name="var1" id="var1" />
<input type="hidden" name="var2" id="var2" />
<input type="hidden" name="var3" id="var3" />
.
.
.
</form>
并使用此JavaScript为这些hidden
字段设置值
$("#var1").val("some data 1");
$("#var2").val("some data 2");
$("#var3").val("some data 3");
您可以继续使用现有的$.post()
代码