Kann ein form.serialize()
-Objekt und andere Parameter mit einer einzigen $.ajax()
-Anforderung gesendet werden?
Beispiel:
$.ajax({
type : 'POST',
url : 'url',
data : {
$('#form').serialize(),
par1 : 1,
par2 : '2',
par3: 232
}
}
Ist dies nicht der beste Weg, um ein Formular zusammen mit anderen Parametern zu übermitteln?.
Vielen Dank
serialize()
wandelt die Formularwerte effektiv in einen gültigen Querstring um. Sie können also einfach an den String anhängen:
$.ajax({
type : 'POST',
url : 'url',
data : $('#form').serialize() + "&par1=1&par2=2&par3=232"
}
Alternativ können Sie form.serialize () mit $ .param (object) verwenden, wenn Sie Ihre Parameter in einer Objektvariablen speichern. Die Verwendung wäre:
var data = form.serialize() + '&' + $.param(object)
Siehe http://api.jquery.com/jQuery.param für weitere Hinweise.
Ich weiß es nicht, aber keiner der oben genannten Dinge hat für mich funktioniert. Dann habe ich dies verwendet und es hat funktioniert:
Im serialisierten Array des Formulars wird es als Schlüsselwertpaar gespeichert
Wir haben den neuen Wert oder die neuen Werte hier in die Formularvariable verschoben und können diese Variable jetzt direkt übergeben.
var form = $('form.sigPad').serializeArray();
var uniquekey = {
name: "uniquekey",
value: $('#UniqueKey').val()
};
form.Push(uniquekey);
Sie können ein Hilfsformular mit jQuery mit dem Inhalt eines anderen Formulars erstellen und dann thath aus anderen Parametern hinzufügen, so dass Sie es nur im Ajax-Aufruf serialisieren müssen.
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()
}
Wenn Sie Daten mit Formular serialisieren senden möchten, können Sie dies versuchen
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);
}
});