【发布时间】:2011-12-20 04:31:30
【问题描述】:
我正在使用 Ajax 对页面进行部分更新,这是一个购物车,当用户向其中添加商品时,它会使用 Ajax 进行更新。问题是如果用户移动到结帐然后点击返回按钮,购物车看起来是空的,因为它是用 Ajax 更新的。刷新页面使项目再次出现。
有没有办法强制更新后退按钮上的页面?
【问题讨论】:
标签: javascript ajax back
我正在使用 Ajax 对页面进行部分更新,这是一个购物车,当用户向其中添加商品时,它会使用 Ajax 进行更新。问题是如果用户移动到结帐然后点击返回按钮,购物车看起来是空的,因为它是用 Ajax 更新的。刷新页面使项目再次出现。
有没有办法强制更新后退按钮上的页面?
【问题讨论】:
标签: javascript ajax back
如果您在 ajax 应用程序中使用 history.pushstate,您可以将卡片的内容保存在全局命名空间中的变量中(例如 window.cartItems = { item1, item2, ... }),然后返回按下按钮并再次呈现上一个按钮,从该全局对象中获取您的项目。
【讨论】:
我建议不要更改后退按钮本身的行为。用户希望后退按钮将他们带回页面,而不是执行任何其他操作。
我会建议一种不同的方法。例如,您可以有一段 JS 在购物车页面本身上运行。该脚本将从后端获取所有购物车数据。该脚本可以在页面加载时运行一次,确保购物车是最新的。
【讨论】: