当我尝试使用Chrome,Firefox和Linux时,我在app.js
中有以下代码Safari req.logout()
在后端工作正常,但是当我尝试使用IE浏览器注销时,它不起作用。我使用了以下代码进行安装会话和注销API。
// set up our express application
app.use(cookieParser());
// required for passport
app.use(session(
{
secret: 'SECRET',
resave: true,
saveUninitialized: true,
maxAge: new Date(Date.now() + 1*60*60*1000),
store: new MongoStore(
{
mongooseConnection : mongoose.connection
}
)
}
)); // session secret
app.use(passport.initialize());
app.use(passport.session()); // persistent login sessions
退出GET API
req.logout();
req.session.destroy(function(err){
req.user = null;
req.session = null;
res.cookies('connect.sid', "", { expires: new Date(0)})
});
请建议我在IE上清除Cookie的更好方法。
答案 0 :(得分:0)
我找到了自己的方式,这是一个愚蠢的错误。
默认情况下,在IE浏览器中,它的缓存API,我的API在注销和重新登录后首次缓存,因为已经缓存它没有向服务器端调用API,它'从缓存中取出。
我找到了解决方案。我在cache: false
调用中使用了$.ajax
参数。