130

1つのAJAXリクエストでフォーム要素(メソッドでシリアル化)やその他のパラメーターを送信することは可能ですか?.serialize()

例:

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

そうでない場合は、他のパラメータと一緒にフォームを送信するための最良の方法は何ですか?

ありがとう

4

11 に答える 11

261

serialize()フォームの値を有効なクエリ文字列に効果的に変換するため、文字列に単純に追加できます。

$.ajax({
    type : 'POST',
    url : 'url',
    data : $('#form').serialize() + "&par1=1&par2=2&par3=232"
}
于 2012-05-01T14:04:08.220 に答える
84

別の方法として、params を何らかのオブジェクト変数に格納する場合にform.serialize()with を使用することもできます。$.param(object)使用法は次のとおりです。

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

詳細については、 http://api.jquery.com/jQuery.paramを参照してください。

于 2012-11-22T12:06:02.823 に答える
10

わかりませんが、上記のどれもうまくいきませんでした。次に、これを使用しましたが、うまくいきました:

フォームのシリアル化された配列では、キーと値のペアとして格納されます

ここでフォーム変数に新しい値をプッシュしたので、この変数を直接渡すことができます。

var form = $('form.sigPad').serializeArray();
var uniquekey = {
      name: "uniquekey",
      value: $('#UniqueKey').val()
};
form.push(uniquekey);
于 2015-07-15T08:54:36.497 に答える
-1

serializeArray 関数を使用して同じことを行うこともできます。

于 2019-07-17T06:01:52.763 に答える