форма jquery.сериализация и другие параметры


можно ли отправить form.serialize() объект и другие параметры с одним $.ajax() запрос?

пример:

$.ajax({
    type : 'POST',
    url : 'url',
    data : {
        $('#form').serialize(),
        par1 : 1,
        par2 : '2',
        par3: 232
    }
}

Если нет, то какой лучший способ отправить форму вместе с другими параметрами.

спасибо

6 88

6 ответов:

serialize() эффективно превращает значения формы в допустимую строку запроса, поэтому вы можете просто добавить к строке:

$.ajax({
    type : 'POST',
    url : 'url',
    data : $('#form').serialize() + "&par1=1&par2=2&par3=232"
}

в качестве альтернативы вы можете использовать форму.сериализовать () с помощью $.param (объект), если вы храните свои параметры в некоторой объектной переменной. Использование будет:

var data = form.serialize() + '&' + $.param(object)

см.http://api.jquery.com/jQuery.param для дальнейшей справки.

Я не знаю, но ни один из выше работал для меня, тогда я использовал это, и она работала :

в сериализованном массиве формы он хранится как пара ключевых значений

мы нажали новое значение или значения здесь в переменной формы, а затем мы можем передать эту переменную непосредственно сейчас.

var form = $('form.sigPad').serializeArray();
var uniquekey = {
      name: "uniquekey",
      value: $('#UniqueKey').val()
};
form.push(uniquekey);

вы можете создать вспомогательную форму с помощью jQuery с содержимым другой формы, а затем добавить эту форму в другие параметры, поэтому вам нужно только сериализовать ее в вызове ajax.

function createInput(name,value){
    return $('<input>').attr({
        name: name,
        value: value
    });
}
$form = $("<form></form>");
$form.append($("#your_form input").clone());
$form.append(createInput('input_name', 'input_value'));
$form.append(createInput('input_name_2', 'input_value_2'));
....

$.ajax({
    type : 'POST',
    url : 'url',
    data : $form.serialize()
}

Если вы хотите отправить данные с формой сериализации вы можете попробовать это

var form= $("#formId");
$.ajax({
    type: form.attr('method'),
    url: form.attr('action'),
    data: form.serialize()+"&variable="+otherData,
    success: function (data) {
    var result=data;
    $('#result').attr("value",result);

    }
});

я исправляю проблему с оператором under ; отправить данные с URL-адрес же вам компания Methode

$.ajax({
    url: 'includes/get_ajax_function.php?value=jack&id='+id,
    type: 'post',
    data: $('#b-info1').serializeArray(),

и получить значение с помощью $_REQUEST['значение'] или $_GET['идентификатор']