gpt4 book ai didi

javascript - (ajax和express js) express js授权中间件

转载 作者:行者123 更新时间:2023-11-30 17:05:50 24 4
gpt4 key购买 nike

我的应用程序中有一个简单的授权中间件。它在 GET 和 POST 正常请求中都能完美运行,但是当我通过 ajax 发出 POST 请求时,它不会重定向到页面 401,而是忽略中间件并继续我的模型并将数据插入数据库。

代码:

function(req, res, next){
if(!req.session.user){
res.status(401);
res.redirect('/401');
}
next(); }

有人能解释一下为什么这个中间件如果是 ajax 请求就不能工作,但可以正常处理正常请求吗?

最佳答案

问题是,即使您正在发送重定向,javascript 代码执行仍在继续,因为 next() 不在 else 中条款。所以在 res.redirect('/401') 之后放置一个 return 或将 next() 放在 else 中> 会避免这个问题。

关于javascript - (ajax和express js) express js授权中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28055778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com