форма jquery.сериализация и другие параметры
можно ли отправить form.serialize()
объект и другие параметры с одним $.ajax()
запрос?
пример:
$.ajax({
type : 'POST',
url : 'url',
data : {
$('#form').serialize(),
par1 : 1,
par2 : '2',
par3: 232
}
}
Если нет, то какой лучший способ отправить форму вместе с другими параметрами.
спасибо
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() }