ハマログ

株式会社イーツー・インフォの社員ブログ

Ajaxで$.postのForm送信にserialize(シリアライズ)を使用する

こんにちは。S.Iです。

先日、試行錯誤したAjaxでPOSTメソッドでForm送信にserialize(シリアライズ)を使用する方法を紹介します。

$.postは$.ajaxの略記です。$.ajax関数で次のように指定した処理と同じ処理を実行します。
引数の説明はこちら

$.post( "test.php", { name: "John", time: "2pm" } );

通常はこんな感じでname=太郎&mail=…のような形式の文字列dataを指定しますがチェックボックスやラジオボタンなんかの値を確実に処理するのは手間です。また保守性の観点でもよろしくありません。

そんなときのserialize(シリアライズ)!!

<script>
    $(document).ready(function() {
        $(".saveMySearch").on('click', function(e) {
            var params = $("#searchForm").serialize();
            $.post("/{{$segment}}/api/job/mysearch/add", params,
                    function(jsonData) {
                        data = JSON.parse(jsonData);
                        if (data && data.result) {
                            var inst = $.remodal.lookup[$('[data-remodal-id=sendmysearch]').data('remodal')];
                            inst.open();
                        } else {
                            var inst = $.remodal.lookup[$('[data-remodal-id=sendmysearcherror]').data('remodal')];
                            inst.open();
                        }
                    });
            return false;
        });
    });
</script>

フォームの内容をテキストに変換する便利な機能です。
$searchForm.serialize()で得られる値をそのまま利用できるので便利ですね+。(ш´ω`*)шワーイ

Ajaxformserialize

  S.I   2014年9月8日


関連記事

WordPressプラグインWP to Twitterでツイッター連携

こんにちは。S.Iです。 桜が綺麗に咲いてますね。 今回はWordPress(3…

MariaDBのVARCHAR(10)には何文字格納できるでしょうか?

こう聞かれれば「半角10文字、全角5文字」と答える人が多いのではないでしょうか。…

AWS Systems Manager DistributorでCodeDeploy Agentをインストールする

EC2へのCodeDeploy Agentインストールの際に、AWS Syste…


← 前の投稿

次の投稿 →