我在我的网站(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搜索表单,但是如果可能的话,如果我点击后退按钮,我想再次查看结果。
想法?
答案 0 :(得分:3)
使用HTML5 History API,通过脚本操作浏览器历史记录(在成功函数中)。
在您的情况下,ajax请求不需要POST,因为搜索不会改变任何内容。
有关历史Api检查的更多信息:
ajax有一个永久链接的jquery插件,包括演示: