登録が成功したときにリダイレクトしようとしています。この基本的なコードをまとめて、原理をテストしました。
app.post('/register', function(req, res, next) {
User.findOne({ username: req.body.username }, function (err, user) {
if (err) { return done(err); }
if (user) {
res.send(400);
} else {
var newUser = new User({ username: req.body.username, password: passwordHash.generate(req.body.password)});
newUser.save();
req.logIn(newUser, function(err) {
if (err) return next(err);
return res.redirect('/my-events');
})
}
});
});
ただし、これがトリガーされると、ブラウザーは 302 を確認し、続いて /my-events エンドポイントが提供するページの GET が成功しますが、リダイレクトはありません。
どうしたの?res.redirect の使用は、ブラウザーがエンドポイントをロードしているときに機能しますが、$.post の結果として機能しないようです。