如何在从node js应用程序注销后使浏览器缓存失效

ercv8c1e  于 2023-08-04  发布在  Node.js
关注(0)|答案(3)|浏览(130)

我用node js和express开发了一个应用程序。我希望在用户注销应用程序后使浏览器缓存无效。主要原因是用户在单击后退按钮时不应该看到先前加载的页面。

wi3ka0sx

wi3ka0sx1#

您可以根据用户是否登录,有条件地设置头文件,使其从不缓存您的页面。
这个express中间件可以做到这一点:

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

字符串

0yycz8jy

0yycz8jy2#

正在使用

app.use((req, res, next) => {      
    res.set('Cache-Control', 'no-store')
    next() 
 })

字符串
app.js为我工作。

jk9hmnmh

jk9hmnmh3#

下面的代码在chrome中工作正常,但在Safari中不工作。

//import nocache module

const nocache = require("nocache");

//create a middleware incentral place like app.js or index.js to register for all routes. that's it.

app.use(nocache());

字符串

相关问题