javascript - 部分 SPA 应用程序,历史导航在视口(viewport)中呈现 JSON

标签 javascript reactjs single-page-application

我们有一个以渐进式模式构建的相当大的应用程序,因此我们将性能关键页面迁移到 SPA( react 、redux、 react 路由器(Router)),而其他页面则在已建立的遗留应用程序中提供。

所有 SPA 页面均使用 Link 导航和非 SPA 通过 html anchor 。

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

有些时候,特别是在干净缓存模式下,当我们以这种模式导航时:

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

问题:浏览器在第 2 步获取的视口(viewport)中呈现 JSON 文本

我们试图通过用于路由导航异步调用的 Cache-Control: 'no-cache, no-store, must-revalidate' header 来解决这个问题,但它并没有很好地解决这个问题。

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

最佳答案

这是所需的完整 header :

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

您尝试过这个完整的解决方案吗?

关于javascript - 部分 SPA 应用程序,历史导航在视口(viewport)中呈现 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54646101/

相关文章:

javascript - ReactJS:如何在组件之间同步sessionStorage状态

javascript - AngularJs查看用户详细信息

Azure Bot 中的 JavaScript 变量分配

javascript - 我如何定位一个框以便使用 jQuery 隐藏它?

reactjs - 根据传递的组件推断 Prop 类型也作为 Prop

javascript - Gatsby i18next 插件 无法生成 codeFrame

javascript - 在 node.js 或 JavaScript 中映射数组的简洁方法

javascript - 如何获取字符串中引用的文本?

java - 部署依赖于 REST API 的单页面应用程序有哪些技术?

javascript - pagify.js 正在将我的索引页面内容添加到其他页面