Привет всем, я сейчас работаю над веб-сайтом и пытаюсь заставить логин работать. Когда я отправляю информацию для входа, она отправляется как $ .get (), (я отправлю код), и информация правильно подключается к базе данных mon go, поэтому я знаю, что маршрутизация в порядке, но моя проблема заключается в ответ. Я могу видеть нужные данные, но не могу перехватить их внутри обратного вызова для $ .get (), и я не уверен, почему.
это мой индекс. js:
$.get("/login", {email: email.val(),password: password.val()}, function(data){
console.log(data,"indexjs line 294");
},"json");
маршруты. js:
app.get("/login", passport.authenticate('local-login', {
successRedirect : '/login',
// redirect to wherever you want to go
failureRedirect : '/signUp' ,
// redirect back to the signup page if there is an error
successFlash:true,
}),
(req,res,)=>{
res.send( console.log("inside get / route line 26"));
}
);
паспорт. js:
passport.use('local-login', new LocalStrategy({
// by default, local strategy uses username and password, we will override with email
nameField:'name',
usernameField: 'email',
passwordField: 'password',
passReqToCallback: true // allows us to pass back the entire request to the callback
},
function(req, email, password, done) {
// asynchronous
// User.findOne wont fire unless data is sent back
process.nextTick(function() {
// find a user whose email is the same as the forms email
// we are checking to see if the user trying to login already exists
User.findOne({ 'email': email }, function(err, user) {
// if there are any errors, return the error
if (err)
return done(err);
// check to see if theres already a user with that email; uses flash module
if (user) {
var newUser = new User();
// set the user's local credentials
newUser.password = newUser.generateHash(password);
if(!newUser.password == user.password){
return done(null, false, req.flash('signupMessage', 'incorrect password'));
}
else{
newUser.name = user.name;
newUser.email = user.email;
//console.log(newUser,"newUser in passportjs line 125");
return done(user);
}
}
else {
// if there is no user with that email
return done(null, false, req.flash('signupMessage', 'That email does not exist.'));
}
});
});
}));
ответ, который я получаю:
{
_id: 5e850e5bfd081f1ed0437bdb,
name: 'Jane Smith',
email: 'jane@smith.com',
password: '$2a$08$mqw45NEn52gPZ8.x0.vQh.4EvXu5Q3pRO4vFqd6dbAxuAsjm5TXxO',
__v: 0
}
Как вы можете видеть, это информация, которую я хочу, но как мне записать ее обратно в свой индекс. js, чтобы я мог добавить тег html к имени пользователя. Буду признателен за любую помощь, я пробую все, что могу придумать, и прочесываю столько документации, сколько смогу найти. Как только я смогу решить эту проблему, я смогу завершить sh оставшуюся часть входа на сайт.