jQuery APIリファレンス非同期通信:その他
- jQuery.ajaxSetup(options)〔Ajaxリクエストに対するグローバルな設定をセットアップ〕
- selialize()〔Input要素をつなげて1つの文字列データにする〕
- serializeArray()〔すべてのフォームとフォーム要素をつなげたJSON形式のデータ構造を返せう〕
jQuery.ajaxSetup(options)
Ajaxリクエストに対するグローバルな設定をセットアップ
2009/2/27
Ajaxリクエストをグローバルな設定にセットアップします。
利用可能なオプションの説明は、$.ajaxを参照してください。
第1引数optionsには、デフォルトのAjaxリクエストを構成するキーと値のペアのセットを指定します。すべてのオプションは任意指定です。
例:「/xmlhttp/」というURLにAjaxリクエストにデフォルトを設定し、グローバルなハンドラを有効にし、GETの代わりにPOST送信を使用します。Ajaxリクエストにしたがって、他の設定なしにデータが送信されます。
$.ajaxSetup({ url: "/xmlhttp/", global: false, type: "POST" }); $.ajax({data: myData});
selialize()
Input要素をつなげて1つの文字列データにする
2009/2/27
データ文字列の中にinput要素のセットを並べた文字列を返します。
Serializeは、通常、サーバーに送信されるユーザーの入力データを準備するのに使用されます。 このシリアライズされたデータは、サーバーサイドプログラミング言語とフレームワークでと互換性のある標準フォーマットになります。・
適切に並べるには、フォームフィールドがname属性を持っている必要があります。
id属性だけだと動作しません。例えば、<input id="email" name="email" type="text" />
のように、このフィールドにはname属性が必要です。
jQuery v1.2からは、serializeメソッドが、正確にフォームを並べるようになりました。 古いバージョンでは、jQuery Form PluginのfieldSerializeメソッドを使用してください。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="ja" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="imagetoolbar" content="no" /> <title>非同期通信:その他:selialize()の使用例 | jQuery</title> <link rel="stylesheet" type="text/css" href="/content/lib/global.css" /> <!-- JS --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript"> $(function(){ function showValues(){ var str=$("form").serialize(); $("#res").html("<strong>クエリー文字列:</strong>"+str); } $(":checkbox, :radio").click(showValues); $("select").change(showValues); showValues(); }); </script> <style type="text/css"> form { margin:5px; } #res { color:red; } </style> </head> <body> <div id="wrap"> <h1>非同期通信:その他:selialize()の使用例 | jQuery</h1> <p>▼フォーム要素をクリックしてください。フォーム要素の選択値をクエリー文字列にして表示します。</p> <!-- CODE --> <form> <p> <select name="single"> <option>Single</option> <option>Single2</option> </select> </p> <p> <select name="multiple" multiple="multiple"> <option selected="selected">Multiple</option> <option>Multiple2</option> <option selected="selected">Multiple3</option> </select> </p> <p> <label for="ch1"><input type="checkbox" name="ch1" value="check1" id="ch1" />check1</label> <label for="ch2"><input type="checkbox" name="ch2" value="check2" checked="checked" id="ch2" />check2</label> <label for="r1"><input type="radio" name="radio" value="radio1" checked="checked" id="r1" />radio1</label> <label for="r2"><input type="radio" name="radio" value="radio2" id="r2" />radio2</label> </p> </form> <p id="res"></p> <!-- CODE / --> </div> </body> </html>
serializeArray()
すべてのフォームとフォーム要素をつなげたJSON形式のデータ構造を返せう
2009/2/27
すべてのフォームとフォーム要素を.serialize()メソッドのように並べ、JSON形式のデータ構造を配列で返します。
戻り値のJSON構造は、文字列ではありません。 「stringify」するには、プラグインやサードパティライブラリを使用してください。
戻り値のJSON構造は、1つまたは2つのキーを含むオブジェクトの配列で構成されています。 空でない場合は、パラメータ名がname、パラメータの値がvalueになります。
戻り値の例:
[
{ name: 'firstname', value: 'Hello' },
{ name: 'lastname', value: 'World' },
{ name: 'alias'}, /* 空ではない */
]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="ja" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="imagetoolbar" content="no" /> <title>非同期通信:その他:serializearray()の使用例 | jQuery</title> <link rel="stylesheet" type="text/css" href="/content/lib/global.css" /> <!-- JS --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript"> $(function(){ function showValues() { var fields=$(":input").serializeArray(); $("#res").empty(); $.each(fields, function(i, field){ $("#res").append(field.value + " "); }); } $(":checkbox, :radio").click(showValues); $("select").change(showValues); showValues(); }); </script> <style type="text/css"> form { margin:5px; } #res { color:red; } </style> </head> <body> <div id="wrap"> <h1>非同期通信:その他:serializearray()の使用例 | jQuery</h1> <p>▼フォーム要素をクリックしてください。フォーム要素の値を取得し、それを文字列に変換した結果を表示します。</p> <!-- CODE --> <p><strong>結果:</strong> <span id="res"></span></p> <form> <p> <select name="single"><option>Single</option><option>Single2</option></select> </p> <p> <select name="multiple" multiple="multiple"><option selected="selected">Multiple</option><option>Multiple2</option><option selected="selected">Multiple3</option></select> </p> <p> <label for="ch1"><input type="checkbox" name="check" value="check1" id="ch1" />check1</label> <label for="ch2"><input type="checkbox" name="check" value="check2" checked="checked" id="ch2" />check2</label> <label for="r1"><input type="radio" name="radio" value="radio1" checked="checked" id="r1" />radio1</label> <label for="r2"><input type="radio" name="radio" value="radio2" id="r2" />radio2</label> </p> </form> <!-- CODE / --> </div> </body> </html>