【发布时间】:2014-01-06 10:10:58
【问题描述】:
我目前在同一页面(index.php)显示搜索结果,在URL的参数中我只是放了index.php?type=search
<form method='POST' action='" . $_SERVER['PHP_SELF'] . "?type=search'>
所以,在 index.php 我检查它是否是搜索:
if(!isset($_GET['type'])) {
echo $load->common();
}else{
if($_GET['type'] == 'search'){
if(isset($_POST['search-what-box'])){
echo $load->search($_POST['search-what-box'], $_POST['search-where-box'], null);
}else{
echo $load->common();
}
}
}
如您所见,我进行了多次验证。但是想象一下,人们输入另一个网址(我的页面),比如 list.php?id=33 然后他们点击浏览器的后退按钮..浏览器将显示(使用此代码) $load->common() 而不是 $load->search() 的结果,因为 $_POST['search-what-box'] 没有被按下(表单没有提交)。
人们点击浏览器的后退按钮后,如何显示搜索结果而不是常见结果?我应该将信息(提交表单后)保存在 javascript 中,然后通过 jQuery 再次加载还是有更好的方法?
谢谢。
【问题讨论】:
-
如果我错了,请纠正我,即使用户单击“返回”按钮,URL 将保持不变(连同 GET 变量)。
-
@user2513523 你是对的。问题是我只显示在 URL 上:index.php?type=search..我没有把用户搜索的内容放在 URL 上。
-
明白你的意思,抱歉错过了 POST 条件。
-
当人们点击返回按钮时,浏览器应该向他们显示 POST 的结果或“确认表单重新提交”对话框,不是吗?
标签: javascript php jquery search