使用Microsoft Edge时,我的电子商务网站存在一些问题。我遇到的主要问题是有角度的$http.get
请求。
通常,应用程序流是指用户访问/cart
页面时浏览器向/api/cart
发出请求,该请求会返回带有购物车内容的JSON以及定价信息。
我遇到的问题是,当添加产品(在其他页面上)时,会话正在使用信息正确更新,但边缘加载/api/cart
旧信息。然而,当您在另一个边缘选项卡中直接请求/api/cart
时,JSON会正确加载。
澄清这种不正确的行为只发生在Edge; Chrome和Firefox按预期工作。
我正在使用MEAN堆栈进行开发。
TLDR:如何在Edge
中阻止对api JSON请求进行缓存
答案 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();
}
以上是一个快速中间件功能,它将给定的请求更改为无缓存状态。