让我们想象一下,我们有简单的数据,并想对其进行分页。这并不难做到,简单的_GET var与页码其他原则与偏移量将使我们能够以简单的方式做到这一点,但它在搜索页面中应该是什么样子?让我解释一下。
例如,我们有一个带有/search-url的简单路线。我们有搜索表格的地方。当使用输入字符串时,我们在同一页面上使用POST方法,并将得到结果。很简单,但如果我们在这里添加分页,那么存储"输入字符串"就会出现问题。
如果我们在会话中存储搜索查询,这将是解决方案,但。。。事实并非如此。为什么?用户输入搜索字符串-在离开页面(或关闭浏览器,或离开到另一个页面)后,通过分页(此处搜索字符串已在会话中)获得结果。当他从会话返回数据时,将向他显示"旧查询的结果"。。。
所以问题是,在这种情况下,最佳做法是什么?我想要简单的搜索查询+它的分页,但如果用户离开页面-清除结果。
使用POST而不是GET进行搜索查询有点不寻常,而且并不安全。由于搜索查询操作是只读的,您应该使用GET来访问/获取数据。POST用于更新或创建资源。
您将如何在分页中返回/前进(使用浏览器的按钮)?你总是会收到一个提醒框。并且您不能共享/为搜索查询url添加书签。
BTW来回答你的问题,会话和隐藏的输入字段将是一种方式。您还可以使用get和post 的组合
我什么时候应该使用GET或POST方法?什么';它们之间有什么区别吗