【发布时间】:2020-04-18 00:36:37
【问题描述】:
我正在使用带有快速会话的 Nuxt SSR,并且我有一个来自服务器端的护照 JS 重定向
/**
* POST /signup
* Create a new local account.
*/
exports.postSignup = (req, res, next) => {
const validationErrors = [];
if (!validator.isEmail(req.body.email)) validationErrors.push({ msg: 'Please enter a valid email address.' });
if (!validator.isLength(req.body.password, { min: 8 })) validationErrors.push({ msg: 'Password must be at least 8 characters long' });
if (req.body.password !== req.body.confirmPassword) validationErrors.push({ msg: 'Passwords do not match' });
if (validationErrors.length) {
req.flash('errors', validationErrors);
return res.redirect('/signup');
}
req.body.email = validator.normalizeEmail(req.body.email, { gmail_remove_dots: false });
const user = new User({
email: req.body.email,
password: req.body.password
});
User.findOne({ email: req.body.email }, (err, existingUser) => {
if (err) { return next(err); }
if (existingUser) {
req.flash('errors', { msg: 'Account with that email address already exists.' });
return res.redirect('/signup');
}
user.save((err) => {
if (err) { return next(err); }
req.logIn(user, (err) => {
if (err) {
return next(err);
}
res.redirect('/');
});
});
});
};
如果我调用重定向方法?它会重新加载页面并清除 Vuex 状态,对吗? 如何从护照进行此重定向,以保持 Vuex 状态不变且客户端页面不刷新
【问题讨论】:
-
它接缝你正在使用表单提交进行注册,你必须使用 axios 或类似的东西使用异步注册并生成像
res.json({success:true})这样的积极响应而不是res.redirect('/')
标签: vue.js vuejs2 passport.js nuxt.js