JQuery - добавление к сериализации - PullRequest
19 голосов
/ 28 ноября 2011

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

Ответы [ 2 ]

37 голосов
/ 28 ноября 2011

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

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

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

11 голосов
/ 28 ноября 2011

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

formData += '&var1=blah&var2=blah';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...