jQuery 入門 | Ajax の使用 | Ajax と Form 要素 .serialize()
Ajax と Form 要素
Ajax では、サーバーとの非同期通信のために、form 要素を通じて入力されたデータをシリアライズして送信する。
ここでいうシリアライズとは、入力された複数のデータを 1 つのクエリ文字列にすることを意味する。
これにより、form 要素を通じて入力されたデータを一度にサーバーへ送信できるようになる。
シリアライズ
jQuery では、HTML form 要素を通じて入力されたデータのシリアライズ処理を非常に簡単に実行できる。
.serialize() メソッドと .serializeArray() メソッドを利用して、簡単にデータをシリアライズできる。
.serialize() メソッドは、HTML form 要素を通じて入力されたデータをクエリ文字列に変換する。
.serializeArray() メソッドは serialize() メソッドとは異なり、入力されたデータを文字列ではなく配列オブジェクトに変換する。
次の例は、<form> 要素に .serialize() を適用した値を表示する。
function showValues() {
$("#text").text($("form").serialize());
}
$("input[type='text']").on("keydown", showValues);
$("input[type='checkbox'], input[type='radio']").on("click", showValues);
$("select").on("change", showValues);
韓国語を含む入力データがクエリ文字列に変換されるときは、パーセントエンコーディングによって変換される。
このとき、すべての韓国語文字はパーセント記号(%)を含む 16 進数の値に変換される。