【发布时间】:2013-04-26 07:11:00
【问题描述】:
我正面临 Ajax 请求在后退按钮上的情况。
我创建了一个表单,该表单根据给定的过滤器并加载到特定的 div 上,通过 ajax 请求发布值并返回结果。当我单击页面上的任何链接时,它会按预期打开新的 url。单击浏览器后退按钮时,它会打开具有默认值的前一个表单页面。如何启用浏览器状态功能,以便使用浏览器后退按钮获得最后发布的值的结果。请注意,ajax 的类型是 POST。
我得到的一个解决方案是将此表单类型修改为 GET 而不是 POST,但这将花费大量时间来更改服务器端代码。
var page_url = $(this).attr('href');
page_url = page_url.split(':');
var page = page_url['1'];
$form = $('#form);
$.ajax({
type: 'POST',
data: $form.serialize(),
url: webroot + 'controller /action/page:'+page
}).done(function (result){
})
我想知道可能的解决方案。
【问题讨论】:
-
使用
push state和pop state....
标签: php javascript jquery ajax browser-history