我有一个角度2的应用程序,它与一个独立的后端nodejs api对话。当我尝试登录我的应用程序时,不知道我在哪里获得404。这刚刚开始发生,我回到前端和后端的不同版本的代码,看看最近的代码中的某些东西是否破坏了我的应用程序。我通过检查活动监视器中是否存在来验证节点后端是否正在运行。当我尝试命中端点时,后端控制台中绝对没有任何活动。
当我查看网络选项卡时,我得到的是404,但其余的细节似乎表明所有内容都按预期发送,包括正确的请求URL和请求有效负载。
我唯一不确定的是正常情况是,似乎有两次登录尝试,第一次导致204.我实际上不知道这是否是正常行为。
尝试登录后,我会在网络标签中获得以下报告:
两个列表的详细信息如下:
任何想法都将不胜感激。浪费了很多宝贵的时间与此作斗争。感谢。
根据请求更新一些后端代码:
条目文件很大但基本上是这样的:
服务和模型被实例化并传递到路线中:
let authRouter = authCreateRouter(passport, services);
验证路由器:
module.exports = (passport, services) => {
let router = express.Router();
router.post('/login', (req, res, next) => {
passport.authenticate('login', (err, user, info) => {
if (err) {
logger.info({
err,
stack: err.stack
}, 'the error');
return next(err);
}
if (!user) {
logger.info({
user
}, 'this user could not be authenticated');
return res.status(401).json({
success: false
});
}
let token = jwt.sign({
id: user.id
}, process.env.SESSION_SECRET, {
expiresIn: '12h'
});
res.json({
success: true,
userId: user.id,
signup: user.signup,
avatarUrl: user.avatarUrl,
accountVerified: user.accountVerified,
user,
token
});
})(req, res, next);
});
};
然后,上面的代码会与相应的服务进行交互。问题是这个代码没有改变,因此不太可能是问题。