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 回答