【发布时间】:2020-07-28 12:56:42
【问题描述】:
我只是没有看到这个重构的代码是不等价的。前者按预期工作,后者返回 404。
登录成功:
router.post('/login', passport.authenticate('local'), (req, res) => {
var userInfo = { username: req.user.username };
res.send(userInfo);
});
错误xhr.js:178 POST http://localhost:3000/user/login/ 404 (Not Found) 抛出:
const authController = require('./controllers/authController');
router.post('/login', authController.login);
authController 在哪里:
const mongoose = require('mongoose');
const User = require('../models/User');
const passport = require('../passport');
exports.login = passport.authenticate('local'), (req, res) => {
var userInfo = { username: req.user.username };
res.send(userInfo);
}
两种情况下的请求头完全相同。
我错过了什么?
【问题讨论】:
-
您需要了解逗号运算符的作用。你不能只用一个来替换两个参数。
-
你的第一个 sn-p 是给 post 三个参数。您重构的代码给出了两个。
-
我很惊讶代码没有给你错误
Uncaught SyntaxError: Unexpected token '('猜测你需要检查服务器日志。 -
谢谢大家。是时候离开屏幕了。
标签: javascript passport.js mern passport-local