form要素( .serialize()
メソッドでシリアル化)および他のパラメーターを単一のAJAXで送信することは可能ですか_リクエスト?
例:
$.ajax({
type : 'POST',
url : 'url',
data : {
$('#form').serialize(),
par1 : 1,
par2 : '2',
par3: 232
}
}
そうでない場合、他のパラメーターと一緒にフォームを送信する最良の方法は何ですか?
ありがとう
serialize()
は、フォームの値を有効なクエリ文字列に効果的に変換します。そのため、単純に文字列に追加できます。
$.ajax({
type : 'POST',
url : 'url',
data : $('#form').serialize() + "&par1=1&par2=2&par3=232"
}
または、パラメータをオブジェクト変数に保存する場合は、form.serialize()
を$.param(object)
とともに使用できます。使用法は次のとおりです。
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);
}
});