记住点击后退按钮时 ajax 添加的数据

2024-02-08

我有一个搜索页面,其中每个搜索结果都使用 AJAX 添加到页面中。这样我可以让用户搜索例如齐柏林飞艇,然后再次搜索金属乐队但将其添加到与先前搜索相同的结果列表中。

我的问题是,当用户单击记录的链接,然后单击后退按钮,返回到搜索结果时。
火狐 (7)使页面保持我离开时的样子,显示完整的结果。
IE (7,8) and 镀铬 (15)另一方面,将按照使用 AJAX 添加任何搜索结果之前的方式显示页面,就好像它不记得我向其中添加了数据一样。

下面是我使用的代码。我尝试添加location.hash = "test";但这似乎不起作用。

// Add search result
$("#searchForm").submit(function (event) {
    //location.hash = "test";
    event.preventDefault();

    $.post($(this).attr('action'), $(this).serialize(),
    function (data) {
        $("tbody").append(data);
    });
});  

我不需要后退按钮来跟踪搜索页面上的更改,例如在添加时逐步浏览每个不同的搜索结果。我只是希望浏览器在我点击后退按钮时记住最后的搜索结果。

SOLVED
更改为document.location.hash = "latest search"没有改变任何东西。我不得不使用localStorage正如阿米尔指出的那样。

这涉及到 jQuery 代码的其余部分:

// Replace the search result table on load.
if (('localStorage' in window) && window['localStorage'] !== null) {
    if ('myTable' in localStorage && window.location.hash) {
        $("#myTable").html(localStorage.getItem('myTable'));
    }
}

// Save the search result table when leaving the page.
$(window).unload(function () {
    if (('localStorage' in window) && window['localStorage'] !== null) {
        var form = $("#myTable").html();
        localStorage.setItem('myTable', form);
    }
});

你有几个选择。

  1. Use 本地存储 https://developer.mozilla.org/en/DOM/Storage记住最后一个查询
  2. 使用cookie(但不要)
  3. 使用您尝试过的哈希值document.location.hash = "last search"更新网址。您将再次查看哈希值,如果已设置,则执行另一个 ajax 来填充数据。如果你已经完成了本地存储,那么你可以只缓存最后一个ajax请求。

我会选择本地存储和哈希解决方案,因为这就是某些网站所做的。您还可以复制并粘贴 URL,它只会加载相同的查询。这非常好,我想说非常方便。

我很想知道为什么它不起作用。更新您的答案,以便我们提供帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

记住点击后退按钮时 ajax 添加的数据 的相关文章

  • 获取选定的文本框 ID jQuery

    在我的表单中 我有几个文本框 例如txtItemCode1 txtItemCode2 etc 如果我在其中任何一个上按 Enter 键 我会使用此代码执行某些操作 但我想获取选定的文本框 ID 我怎样才能做到这一点 变量 id 应该有您正在
  • 替换img路径jquery

    我正在尝试替换 jquery 中的 img 路径 注入远程页面 replaceexample com thumbs withexample com images 我已经尝试过这个 但似乎不起作用 img attr src replace t
  • jQuery 模板:使用 AND 运算符创建条件语句

    这有效
  • “$(document).ready”函数的替代方案

    我在 aspx 页面中使用 fancybox 对于灯箱 文档就绪功能在此页面中不起作用 有人告诉我编写一个新的 JavaScript 代码来加载该页面中的灯箱 包括 jQuery 检查网络选项卡 确保您没有收到 404 检查控制台是否没有收
  • 如何让php页面从html页面接收ajax post

    我有一个非常简单的表单 其中有一个名字输入字段 我捕获了表单数据 并使用标准 jQuery 发布方法通过 ajax 将其传输到 PHP 页面 但是 我根本无法从 PHP 页面获得任何在服务器端捕获数据的响应 我不确定我做错了什么或缺少什么
  • jQuery 相当于 underscore.js 的 groupBy

    jQuery 中是否有一个内置函数可以执行相当于http underscorejs org groupBy http underscorejs org groupBy 有什么解决方法吗 Thanks 不 jQuery 不是为数据处理而设计的
  • YouTube 点击时禁用 HTML5

    有没有办法让我们通过javascript禁用HTML5视频的 播放 暂停 点击全屏 功能 然后在我们再次需要时将其放回去 我不知道你是否可以禁用它们 但你可以使用 css 删除它们 video webkit media controls f
  • jQuery appendTo(), json 在 IE 6,7,8 中不起作用

    我这两天绞尽脑汁想找到解决办法 我使用 jQuery ajax 从数据库中获取值 以便在另一个框发生更改时更新一个框 php 脚本从数据库中获取值 然后输出 json 它在 FF 中工作正常 但在所有版本的 IE 中 选择框都不会更新 我已
  • 如何通过单击图像按钮上传新文件

    我有一项任务是通过单击图像按钮上传新文件 我的代码是
  • 使用 Polymer 通过 HTML 导入包含 jQuery 在 Safari 和 Firefox 中不起作用

    我尝试通过 HTML 导入将 jQuery 包含在主页中 但它只在 Chrome 中有效 Safari 和 Firefox 都会在主页 JavaScript 代码的第一行抛出 ReferenceError 未定义 消息 看来页面上的 Jav
  • 如何在加载ajax内容和javascript时加载gif图像[重复]

    这个问题在这里已经有答案了 我一直在尝试加载 gif 图像 直到 ajax 加载数据并显示它 但我对此感到安慰 我希望你能帮助我 这是我的高级搜索代码 现在我想为此添加加载 gif ajax type POST url base rul s
  • 在使用 jQuery 拖动时向元素添加 CSS 类

    是否可以在元素被拖动到特定区域时向其添加 CSS 类 并在元素被删除后替换该类 我并不是到处寻找这个功能 而是只在特定区域寻找这个功能 是的 这当然有可能 jQuery UI 提供了一些方便的选项和事件来执行此操作 对于初学者来说 可拖动元
  • 获取插入符位置上的当前单词

    如何通过当前插入符号位置获取 textarrea 中的单词 我尝试了类似的操作 但是这仅返回单词的第一个字母到插入符号位置的字符 例如 如果光标位于fo and o它返回fo并不是foo正如预期的那样 Fo o bar 不等于 bar fo
  • javascript函数知道它的名字吗

    我有一个名为 getItem 的函数 我想使用其中的代码读取该函数的名称 这可能吗 function getItem var functionName how do I read the function name alert functi
  • 在 jQuery 中获取 Json 数据

    没有一个清晰的示例解释如何尽可能简单地拉取 json 数据 我有一个有效的 json 我需要使用 jQuery 检索它 我的 json 输出如下 title blog entries items title Can Members of t
  • Jeditable 错误时异步恢复

    我一直在使用 JQuery 的 JEditable 插件 我想向插件返回错误以指示它恢复到以前的值并向用户显示错误 我使用同步 ajax 调用来完成此工作 但我更喜欢使用异步回调 我必须到目前为止的代码如下 editbox editable
  • Ajax 调用后使用 Django 模板呈现 JSON 对象

    我一直在尝试了解什么是最佳方法Ajax http en wikipedia org wiki Ajax 28programming 29 in Django http en wikipedia org wiki Django 28web f
  • 如何获得相对于特定父级的偏移量?

    我想获取元素相对于的偏移量特定的父母不是直接的 也不是文档 我在互联网上查找并找到了offset http api jquery com offset and position http api jquery com position jQ
  • 加载 angularjs 路由后运行 javascript 代码

    我需要在 angularjs 加载路线后显示警报 显示警报的代码位于 angularjs 异步加载的视图中 视图加载后 我希望它能够运行 但它没有 我知道我可以广播并告诉它稍后运行等 但我需要一个更通用的解决方案 假设您正在谈论基于以下内容
  • phonegap:基于 cookie 的身份验证 (PHP) 不起作用 [webview]

    我正在开发一个移动网络应用程序 使用 sencha touch HTML5 和 Phonegap 作为包装器 我正在使用 PHP 身份验证 Cookie 和 ajax 请求 在 safari 或 chrome 上一切正常 但在使用phone

随机推荐