jQuery.param(obj, [traditional])


version 1.2 以降

解説

オブジェクトを、URLクエリ文字列の形式でシリアライズします。
ネストしたオブジェクトや配列も展開されます。

引数

  • obj
    Object: シリアライズするオブジェクト
  • [traditional]オプション (version 1.4 から)
    Boolean: true を指定すると、1.3以前の方式でシリアライズします。

戻り値

  • String: 引数をシリアライズした文字列

例1:様々な引数を指定し、結果を確認します。

var obj = {
    key1: "aaa1",                            // 文字列
    key2: ["array1", "array2"],              // 配列
    key3: { nest1: "bbb", nest2: "ccc" },    // ネストしたオブジェクト
    key4: function(){ return "ddd"; }        // 関数
}

// 分かりやすいように、URI decode して表示 

// version 1.4 形式
$("#test_result p.1_4").append(
    decodeURIComponent($.param(obj))
);

// version 1.3 以前の形式 
$("#test_result p.1_3").append(
    decodeURIComponent($.param(obj, true))
);


version 1.4 jQuery.param(obj)

version 1.3 jQuery.param(obj, true)


version 1.4での動作変更に注意

version 1.4 から、jQuery.param() の動作が、ネストしたオブジェクトや配列を、[] で展開するように変更されました。 もし、以前のプログラムが動かなくなった場合には、第2引数に true を設定してみましょう。

また、jQuery.param() を内部的に利用している jQuery.ajax(settings) にも "traditional" オプションが設けられましたので、 jQuery.ajax(settings) が動かなくなった場合は、 "traditional" オプションtrue に設定してみてください。