HTMLフォームデータ転送

1895 ワード

HTMLフォームのデータ転送には、基本的なHTMLベースを持っている人は、GETとPOSTの2つの提出方法があることを知っているはずです.
GETコミット方式は表示されるコミット方式であり、GET方式でデータをコミットする場合、ブラウザはURLに対してURL encode符号化を行うが、彼の最終転送データはブラウザのアドレスバーに表示され、同時に彼の転送データの大きさは大きく制限され、同時に安全ではない.
次のようになります.
<form action="shopBar.php" method="get">
    <input type="text" name="text">
    <input type="submit" value="  ">
</form>

得られた結果はPHP中$GET['text'];
ブラウザのアドレスバーにshopBarが表示されます.php?text=テキストの値
これは欠陥に戻りますので、登録クラスのページ部分がある場合はPOSTで提出するのが一般的ですが、
同時にGETの文字化けしの可能性はPOSTよりも大きく、これがPOSTの強みであり、
この節でいうのはPOSTに対する書き方ですが、私たちが完全なサイトの設定を行っている間に、POSTやGETがデータを提出している間に、1つのページコードのあちこちに分布している可能性があるので、提出データが分散して送信データを提出するのは適切ではありません.
望ましいことは,一般的にJS,JQコードによる暗黙的なコミットである.同時に彼は実現することができて、顕性formの設定を必要としないで、INPUTなどでPOSTあるいはGETで提出する必要がないことに対して、JS、JQは最も良い方法で、直接セレクタを通じてその中のデータをのラベルを通過します.コードは次のとおりです.
$(".a-post").click(function(){
        $(".a-post").attr("href","javascript:void(0)");
        var $form=$("<form>");
        $form[0].action="shopBarList.php?page="+$(this).attr("page");
        $form[0].method="post";
        if($(".pageBar").attr("search"))
        $form.append($("<input type='hidden' name='search' value = '"+$(".pageBar").attr("search")+"'>"));
        if($(".pageBar").attr("search_if"))
        $form.append($("<input type='hidden' name='search_if' value = '"+$(".pageBar").attr("search_if")+"'>"));
        $(".pageBar").append($form);
        $form.hide();
        $form.submit();
    });

以上は簡単な例です.
ここでは暗黙formを構築してデータを提出する方法です