Ajax 护照总是显示“护照”;“用户已注册”;
我正在使用passport JS在我的网站上注册用户。在注册请求中,我试图使用Stripe向我的用户收费。我也在使用Ajax,因为这是一个单页应用程序 它似乎很好地完成了代码,但我担心Ajax可能会造成问题。奇怪的是,反应并不总是一样的。有时条纹电荷通过,有时不通过 这里的问题是:当我以用户名注册为新用户时,我100%确定没有使用该用户名-它将显示“UserExistError:具有给定用户名的用户已注册” 如何更改代码以修复此问题Ajax 护照总是显示“护照”;“用户已注册”;,ajax,node.js,express,passport.js,stripe-payments,Ajax,Node.js,Express,Passport.js,Stripe Payments,我正在使用passport JS在我的网站上注册用户。在注册请求中,我试图使用Stripe向我的用户收费。我也在使用Ajax,因为这是一个单页应用程序 它似乎很好地完成了代码,但我担心Ajax可能会造成问题。奇怪的是,反应并不总是一样的。有时条纹电荷通过,有时不通过 这里的问题是:当我以用户名注册为新用户时,我100%确定没有使用该用户名-它将显示“UserExistError:具有给定用户名的用户已注册” 如何更改代码以修复此问题 app.post("/quiz", function(req,
app.post("/quiz", function(req, res){
var token = req.body.stripeToken; // Using Express
console.log(' CHARGE STEP 1')
// Charge the user's card:
var charge = stripe.charges.create({
amount: 2800,
currency: "usd",
description: "Example charge",
source: token,
}, function(err, charge) {
// asynchronously called
});
User.findOne({username: req.body.username}, function(err, user){
console.log(' CHARGE STEP 2')
if(err) { }
if(user) {
//this is how you sent the "USER NAME TAKEN ERROR"
res.json({"message": "false" });
}
});
});
//continue with your registration logic once it has been checked that the username is not taken!!!
var newUser = new User({username: req.body.username, datapoint: req.body.datapoint});
User.register(newUser, req.body.password, function(err, user){
if(err){
console.log("this error" + err)
} else {
passport.authenticate("local")(req, res, function(){
// req.flash("success", "Welcome to JobQuiz " + user.username);
// res.redirect("jobquiz");
res.json({"message": "true" });
// res.redirect('/jobquiz')
console.log(' CHARGE STEP 3')
});
}
});
});
这里是AJAX代码
$(function() {
$("#checkpaymentForm").on("submit", function(e) {
e.preventDefault();
$.ajax({
url: $(this).attr("action"),
type: 'POST',
data: $(this).serialize(),
dataType:'json',
success: function (data) {
console.log(data)
if (data.message === "false") {
$('#testERROR').html('Whoops, that username is taken')
}
else if (data.message === "true") {
$('#testERROR').html('Thank you for joining!')
}
}
});
});
});
你试过记录从ajax发出的数据了吗?@Kunkka我试过console.log(data),它给我一个正确或错误的预期值。啊,不,我的意思是记录从ajax发出的请求。ajax提供的数据可能有问题serializes@Kunkka嗯,我该怎么记录呢?:)你试过记录从ajax发出的数据了吗?@Kunkka我试过console.log(data),它给我一个正确或错误的预期值。啊,不,我的意思是记录从ajax发出的请求。ajax提供的数据可能有问题serializes@Kunkka嗯,我该怎么记录呢?:)