jquery-serializeArrayの履歴
var dat = $('#form').serializeArray(); console.log (dat); //=> [object, ..]
セレクタ以下に存在するフォームタグ(inputとかselectとか)のnameをキー、valueを値として、JSON配列に変換してくれる。
例えばこれを、$.post に渡してあげると、サーバ上にPOSTした時と同じ用にデータが取得できる。(railsならparamsに)
試してないけど、$.get に渡してあげても大丈夫じゃないかな。
もう一つ、serialize() という関数もあるが、こちらはクエリーストリングの形式にしてくれる。(key1=val1&key2=val2&..)
$.post の場合は、引数にこっちの文字列を渡してもPOSTデータとして送ってくれるようです。(一応確認済み)
注意点は、name属性がないとSerializeされないこと。
これ、意外とはまります。