2016-06-14 6 views
0

В настоящее время я работаю над проектом, чтобы сделать клон Pinterest в Meteor. Пользователям необходимо заполнить три теста, когда они создадут учетную запись, поэтому мне нужно создать систему регистрации/входа в систему. Пока я могу создать новую учетную запись, но когда я хочу войти в Meteor.loginWithPassword(), ничего не происходит. Даже отсутствие ошибки или результата.Meteor.loginWithPassword() дает undefined

Вот мой код:

'submit .login-form': function(event){ 
    event.preventDefault(); 

    var emailVar = event.target.loginEmail.value; 
    var passwordVar = event.target.loginPassword.value; 

    console.log('here') // This is shown in the console 
    console.log(Meteor.loginWithPassword()) // gives undefined 

    Meteor.loginWithPassword(emailVar, passwordVar, function(err, suc) { 
     if (err) { 
      console.log(err); // This isn't shown in the console 
     } else { 
      console.log(succ); // This isn't shown in the console 

      Bert.alert({ 
       title: "Welkom: " + Meteor.user().profile.name, 
       message: 'You're logged in!', 
       type: 'success', 
       style: 'growl-top-right', 
       icon: 'fa-check' 
      }); 
     } 
    }); 
} 

Edit:

Как спросил здесь является пользователем в Meteor.users: Image

А вот строки, которые заполняются: Image

+0

Что говорят ваши 'emailVar' и' passwordVar'? Постскриптум 'Meteor.loginWithPassword' (без скобок) не должен быть' undefined', функция не возвращает ничего при запуске, поэтому она 'undefined'. – d4nyll

+0

EmailVar и passwordVar - это строки, заполненные пользователем. Так что там адрес электронной почты и пароль. – Nathanvh

+0

Как говорят документы: «Обратный вызов: вызывается без аргументов при успешном завершении или с единственным аргументом ошибки при сбое». – MasterAM

ответ

0

это должно работать:

'submit .login-form': function (event) { 
     event.preventDefault(); 

     var emailVar = event.target.loginEmail.value; 
     var passwordVar = event.target.loginPassword.value; 

     Meteor.loginWithPassword(emailVar, passwordVar, function (err) { 
      if (!err) { 
       console.log("User logged in"); 

       Bert.alert({ 
        title: "Welkom: " + Meteor.user().profile.name, 
        message: "You're logged in !", 
        type: 'success', 
        style: 'growl-top-right', 
        icon: 'fa-check' 
       }); 
      } else{ 
       // Do something on error.... 
       console.log("Not logged in, and error occurred:", err); // Outputs error 
      } 

     }); 
    } 
+0

Спасибо за ваш ответ. К сожалению, это не работает для меня. Я знаю, что это правильный способ закодировать его, но он все равно не работает. – Nathanvh

Смежные вопросы