1. ホーム
  2. serialization

[解決済み] $(this).serialize() -- 値を追加するには?

2022-07-22 09:22:04

質問

現在、以下のような状態です。

$.ajax({
    type: 'POST',
    url: this.action,
    data: $(this).serialize(),
});

これは問題なく動作しますが、データに値を追加したいので、試しに

$.ajax({
    type: 'POST',
    url: this.action,
    data: $(this).serialize() + '&=NonFormValue' + NonFormValue,
});

しかし、これは正しく投稿されませんでした。シリアライズ文字列に項目を追加する方法について何かアイデアがありますか?これは、フォームに依存しないグローバルなページ変数です。

どのように解決するのですか?

の代わりに

 data: $(this).serialize() + '&=NonFormValue' + NonFormValue,

あなたはおそらく

 data: $(this).serialize() + '&NonFormValue=' + NonFormValue,

の値をURLエンコードするように注意する必要があります。 NonFormValue の値が特殊文字を含む可能性がある場合は、URLエンコードに注意する必要があります。