使用后退按钮进行部分ajax更新

时间:2011-12-19 20:21:30

标签: javascript ajax back

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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