J'utilise Ajax et Node JS pour permettre à un utilisateur de s'inscrire sur une application d'une page. Lorsque l'utilisateur frappe le registre, je l'ai configuré pour vérifier si le nom d'utilisateur est pris. Tout cela fonctionne jusqu'à présent. Maintenant, cependant, je dois avertir l'utilisateur que son nom d'utilisateur est pris. Comment est-ce que j'imprimerais l'erreur ou ferais clignoter l'erreur à l'utilisateur de cette façon? Le problème est que j'évite les rafraîchissements de page.Flash NodeJS erreur à l'utilisateur?
app.post("/quiz", function(req, res, next){
User.findOne({username: req.body.username}, function(err, user){
if(err) { console.log(err)}
if(user) {
console.log(user)
// I NEED TO SEND THE ERROR HERE SAYING THE USERNAME IS TAKEN
// I NEED TO SEND THE ERROR HERE SAYING THE USERNAME IS TAKEN
// I NEED TO SEND THE ERROR HERE SAYING THE USERNAME IS TAKEN
}
});
//continue with your registration logic
var newUser = new User({username: req.body.username, datapoint: req.body.datapoint});
User.register(newUser, req.body.password, function(err, user){
// if(res.error){
if(err){
req.flash("error", err.message);
res.redirect('back')
return res.render("quiz");
} else {
passport.authenticate("local")(req, res, function(){
// req.flash("success", "Welcome to JobQuiz " + user.username);
res.redirect("jobquiz");
console.log(req.body.datapoint)
});
}
});
});
Ajax set-up
$(function() {
$("#checkpaymentForm").on("submit", function(e) {
e.preventDefault();
$.ajax({
url: $(this).attr("action"),
type: 'POST',
data: $(this).serialize(),
dataType:'json',
})
});
});
Qui a travaillé absolument pe parfaitement. Merci beaucoup! – AndrewLeonardi