Подтвердить что ты не робот

JQuery - добавление к Serialize

Я пытаюсь выяснить, как добавить еще два значения в метод serialize в JQuery. У меня есть следующий код, чтобы отправить форму с 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) { 
                ...
            }
        });
    }
4b9b3361

Ответ 1

Если вы меняете serialize() на serializeArray(), вы можете вставлять значения в массив:

var formData = $('#contact_form').serializeArray();
formData.push({ name: "<something>", value: "<somevalue>" });
submitForm(formData);

Данные все равно можно отправить так же, как и с помощью метода serialize(), используя метод $.ajax()

Ответ 2

Вы можете добавить новые значения, добавив к своей переменной:

formData += '&var1=blah&var2=blah';