Microsoft Edge Cache Api请求

时间:2016-04-04 22:01:50

标签: angularjs caching browser-cache mean-stack microsoft-edge

使用Microsoft Edge时,我的电子商务网站存在一些问题。我遇到的主要问题是有角度的$http.get请求。

通常,应用程序流是指用户访问/cart页面时浏览器向/api/cart发出请求,该请求会返回带有购物车内容的JSON以及定价信息。

我遇到的问题是,当添加产品(在其他页面上)时,会话正在使用信息正确更新,但边缘加载/api/cart旧信息。然而,当您在另一个边缘选项卡中直接请求/api/cart时,JSON会正确加载。

澄清这种不正确的行为只发生在Edge; Chrome和Firefox按预期工作。

我正在使用MEAN堆栈进行开发。

  

TLDR:如何在Edge

中阻止对api JSON请求进行缓存

enter image description here

1 个答案:

答案 0 :(得分:1)

解决方案相当简单,只需将缓存控件明确设置为no-store即可。

  function nocache(req, res, next) {
      res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate');
      res.header('Expires', '-1');
      res.header('Pragma', 'no-cache');
      next();
  }

以上是一个快速中间件功能,它将给定的请求更改为无缓存状态。