使用ajax和GET搜索表单

时间:2011-07-14 03:51:00

标签: jquery ajax django search-form

我在我的网站(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搜索表单,但是如果可能的话,如果我点击后退按钮,我想再次查看结果。

想法?

1 个答案:

答案 0 :(得分:3)

使用HTML5 History API,通过脚本操作浏览器历史记录(在成功函数中)。

在您的情况下,ajax请求不需要POST,因为搜索不会改变任何内容。

有关历史Api检查的更多信息:

ajax有一个永久链接的jquery插件,包括演示: