Форма поиска с ajax и GET - PullRequest
2 голосов
/ 14 июля 2011

У меня есть форма для поиска пользователей на моем сайте (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 Ответ

3 голосов
/ 14 июля 2011

Используйте HTML5 History API, чтобы манипулировать историей браузера через скрипт (это было бы внутри функции успеха).

В вашем случае запрос ajax не обязательно должен быть POST, поскольку поиск ничего не меняет.

Для получения дополнительной информации о проверке History Api:

Существует плагин jquery для ajax с постоянными ссылками, включая демоверсию:

...