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>