php - 使用浏览器后退按钮获取 Ajax 上一个请求

标签 php javascript jquery ajax browser-history

我遇到了后退按钮上有 Ajax 请求的情况。

我创建了一个表单,它根据给定的过滤器通过 ajax 请求发布值并返回结果,并加载到特定的 div 上。当我单击页面上的任何链接时,它会按预期打开新网址。单击浏览器后退按钮后,它将打开带有默认值的上一个表单页面。如何启用浏览器状态功能,以便通过浏览器后退按钮获得最后发布的值的结果。请注意,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){
})

我想知道可能的解决方案。

最佳答案

您应该将缓存设置为 false:

$.ajax({
    dataType: "json",
    url: url,
    cache: false,
    success: function (json) {...}
});

来源https://stackoverflow.com/a/25230377

关于php - 使用浏览器后退按钮获取 Ajax 上一个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16332520/

相关文章:

javascript - 如何使用 Javascript/JQuery 从 Array 中的 JsonArray 获取数据?

javascript - 使用 change() 将单选按钮组的总成本相加

jQuery 回调函数不起作用

php - 获取属于多个类别及其子类别的帖子会带来重复记录

php - 如何根据 Laravel 中的模型制作迁移文件

javascript - 如何在 Javascript 中提醒 PHP echo

javascript - jQuery - 如何格式化可读的 HTML 语法?

php - 与 Core Data SQLite 文件交互的 Web 服务器代码?

PHP:在 $_SESSION 中存储 'objects'

javascript - 带有向下滑动面板的固定标题,当您向下滚动页面时该面板也保持固定