部分SPA应用程序,历史记录导航在视口中呈现JSON

时间:2019-02-12 08:53:42

标签: javascript reactjs single-page-application

我们有一个相当大的应用程序以渐进模式构建,因此我们将性能至关重要的页面迁移到SPA(react,redux,react-router(Router)),而其他页面则在已建立的旧版应用程序中提供。

所有SPA页面均通过Link和非SPA通过html锚导航。

我们的SPA页面支持整页刷新并从服务器呈现。对于常规路线导航,使用Ajax模式的同一页面url向我们发送存储在商店中的json数据。

有时候,当我们以这种模式导航时,尤其是在纯缓存模式下:

  1. 从SPA页面开始(服务器端渲染)
  2. 导航到另一个SPA页面(异步调用获取JSON并更新存储以更新页面呈现)
  3. 导航到非SPA页面(常规浏览器导航)
  4. 点击浏览器后退按钮

问题:浏览器在为步骤2获取的查看端口中呈现JSON文本

我们尝试通过Cache-Control: 'no-cache, no-store, must-revalidate'标头解决路线导航异步调用的此问题,但并不能很好地解决该问题。

我们应该如何处理这个问题?

1 个答案:

答案 0 :(得分:1)

这是所需的完整标题:

header("Cache-Control: no-cache, no-store, must-revalidate");
header("Pragma: no-cache");
header("Expires: 0 ");

您是否尝试过此完整的解决方案?