JQuery - 追加到序列化

时间:2011-11-27 21:48:24

标签: jquery serialization

我试图弄清楚如何在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) { 
                ...
            }
        });
    }

2 个答案:

答案 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';