2

サイト (django) でユーザーを検索するためのフォームがあります。

<form method="post" action="" id="search_form">
    <table class="table_form">
        <tr>
            <td><input id="id_name" type="text" maxlength="50"></td>
            <td><input type="submit" value="Search"></td>
        </tr>
    </table>
</form>

これはJavaScriptです:

$("#search_form input[type='submit']").click(function() {
    input = $("#id_name").val();
    data = "text=" + input;

    $.ajax({
        type: "POST",
        url: "/user/search/",
        data: data,
        success: function(result) {
            $("#results_box").html(result).show();
        }
    });

    return false;
});

それはうまくいきますが、結果リストでユーザーをクリックするとユーザーページに移動し、ブラウザーの戻るボタンをクリックして結果をもう一度見ると、もちろん POST を使用しているため、何も表示されません。

私は常に ajax 検索フォームが必要ですが、可能であれば、[戻る] ボタンをクリックしたときに結果をもう一度表示したいと考えています。

アイデア?

4

1 に答える 1

3

HTML5 History API を使用して、スクリプトを介してブラウザーの履歴を操作します (成功関数内にあります)。

あなたの場合、検索しても何も変わらないため、ajaxリクエストはPOSTである必要はありません。

History API チェックの詳細については、次を参照してください。

パーマリンク付きの ajax 用の jquery プラグインがあり、デモが含まれています。

于 2011-07-14T07:10:03.207 に答える