我试图弄清楚如何在JQuery中向serialize方法追加两个值。我有以下代码提交带有ajax的表单,还有两个我想要追加的变量:
谢谢!
...
var formData = $('#contact_form').serialize();
submitForm(formData);
// -----------------------------------------------
// AJAX FORM SUBMIT
// -----------------------------------------------
function submitForm(formData){
$.ajax({
type: 'POST',
url: 'contact.php',
data: formData,
dataType: 'json',
cache: false,
timeout: 7000,
success: function(data) {
// display success message
response(data.msg,'show');
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
...
},
complete: function(XMLHttpRequest, status) {
...
}
});
}
答案 0 :(得分:36)
如果您将serialize()
更改为serializeArray()
,则可以将值推送到数组中:
var formData = $('#contact_form').serializeArray();
formData.push({ name: "<something>", value: "<somevalue>" });
submitForm(formData);
仍然可以使用serialize()
方法使用$.ajax()
方法以与{{1}}方法相同的方式发送数据
答案 1 :(得分:11)
您可以通过附加到变量来添加新值:
formData += '&var1=blah&var2=blah';