私はPassportJSを使ってアカウントを作成し、同時にStripeを使用して料金を請求するように設定しました。これはすべて動作します。エラー後にリダイレクトしますか?
これは現在、ユーザーが同じユーザー名でサインアップできるようになっているという問題です。この関数はuser.save部分のエラーをキャッチします。しかし、それはエラーをキャッチしても、それはまだ新しいユーザーを作成し、それらを充電完了します。私はそこに戻る必要があります。しかし、res.redirectやその部分の何かを理解することができませんでした。
エラーが発生した場合、コードをリダイレクトする方法を教えてください。
app.post('/quiz', function(req, res) {
var user = new User({
username: req.body.username,
email: req.body.email,
password: req.body.password,
datapoint: req.body.datapoint
})
user.save(function(err) {
console.log('this is the problem' + ' ' + err)
if(err){
// I NEED TO REDIRECT BACK HERE IF THERE IS AN ERROR
// I NEED TO REDIRECT BACK HERE IF THERE IS AN ERROR
// I NEED TO REDIRECT BACK HERE IF THERE IS AN ERROR
// I NEED TO REDIRECT BACK HERE IF THERE IS AN ERROR
// I NEED TO REDIRECT BACK HERE IF THERE IS AN ERROR
}
var token = req.body.stripeToken; // Using Express
var charge = stripe.charges.create({
amount: 749,
currency: "usd",
description: "Example charge",
source: token,
}, function(err, charge) {
if(err) {
console.log(err);
}
console.log('charged')
req.logIn(user, function(err) {
if(err) {
console.log(err);
}
console.log('all looks good')
res.redirect('/jobquiz');
});
});
});
});