我知道有一些要求几乎相同的各个线程但没有人似乎真正满足我的需要....PHP的Javascript更改浏览器后退按钮行为Laravel
我的网站上,我implemeneted搜索表单。带有输入字段的简单表单,称为searchQuery
和提交按钮。该表单使用POST方法发送。 我使用Laravel btw ..然后将搜索结果加载到控制器的视图中。这些显示在一个表格中。现在出现有趣的部分:找到的元素是可点击的,您可以在页面上看到关于该元素的更多详细信息。然后问题出现了:当我现在单击浏览器后退按钮或鼠标上的后退按钮时,我会看到一个窗口要求再次发送表单信息,我必须确认。
这不是我想要的,我只想回到搜索结果我收到了....
现在,我读了很多,但我仍然不知道,该怎么做。
我onbeforeunload
前阅读,您可以显示一条消息,但对我来说那不是有用的(我想回到搜索结果)......
所以有一些替代方案,这将是可能的(如果技术上是可行的):
- 只是防止对话框,要求重新提交信息,只是再次提交它不要求
- 不知怎的,回去在历史页面之前(也许缓存或类似的东西,搜索结果在那个时候不会改变)
- 如果我想,我可以包括在
http://servername/search/searchquery
这样的url中搜索它们,然后将这个searchquery传递到deatil视图,并有一个按钮去那个url然后再次搜索或类似的东西。然后,你可以(也许)覆盖浏览器后退按钮,按下该按钮,而不是回顾历史...
是其中一个选项可能,如果是的如何?或者还有其他方式可以提供建议吗?
在这种情况下使用GET方法...使用GET –
发送参数将是可能的,但我处理所有其他请求与邮政或直接写入像'/ search/searchquery'的URL而不是'/ search?term = searchquery',这也可以吗?如果是的话如何?因为我然后不会提交表单,只是使用链接去那里,但是,然后,按回车将不再工作.. – nameless
更改浏览器行为似乎是你试图达到什么矫枉过正。我宁愿改变处理请求的方式。 @SaumyaRastogi有一个很好的建议 – Wistar