【问题标题】:partial ajax update with back button带有后退按钮的部分 ajax 更新
【发布时间】:2011-12-20 04:31:30
【问题描述】:

我正在使用 Ajax 对页面进行部分更新,这是一个购物车,当用户向其中添加商品时,它会使用 Ajax 进行更新。问题是如果用户移动到结帐然后点击返回按钮,购物车看起来是空的,因为它是用 Ajax 更新的。刷新页面使项目再次出现。

有没有办法强制更新后退按钮上的页面?

【问题讨论】:

标签: javascript ajax back


【解决方案1】:

如果您在 ajax 应用程序中使用 history.pushstate,您可以将卡片的内容保存在全局命名空间中的变量中(例如 window.cartItems = { item1, item2, ... }),然后返回按下按钮并再次呈现上一个按钮,从该全局对象中获取您的项目。

【讨论】:

  • 问题是第二页不是ajax!所以我要从一个使用 Ajax 更新了部分内容的页面移动到另一个页面,而无需通过 Ajax 访问它!
  • 如果非 ajax 页面上仍有 Javascript 代码,则可以处理它,因为可以从每个启用 jscript 的页面访问全局变量。
【解决方案2】:

我建议不要更改后退按钮本身的行为。用户希望后退按钮将他们带回页面,而不是执行任何其他操作。

我会建议一种不同的方法。例如,您可以有一段 JS 在购物车页面本身上运行。该脚本将从后端获取所有购物车数据。该脚本可以在页面加载时运行一次,确保购物车是最新的。

【讨论】:

    猜你喜欢
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    相关资源
    最近更新 更多