Node Express Post 500 (внутренняя ошибка сервера) jquery-3.4.1.min.js - PullRequest
0 голосов
/ 06 ноября 2019

Я работаю над приложением узла js / express js уже некоторое время. У меня есть get и post, которые работают от вызовов jquery $ ajax.

По какой-то причине у меня есть один пост "loginUser", который не попадает в метод публикации маршрута пользователя

Это работало ранеено теперь остановился, и, как сказал бы любой программист, «почему-то прекратил работать».

Я не верю, что что-то изменилось. Я пытался использовать GET, новые имена POST и т. Д.

Каждый раз, когда он предоставляет только 500 ошибок без какой-либо информации в объекте ошибки.

Loginpage.ejs Форма:

<form class="form-horizontal" id="loginUserForm" >

                    <div class="controls">

                      <strong>Email</strong><br/><input type="email" class="form-control custom-input-width" id="login-email" value="adrian@adriannadeau.com" required>

                  </div>
                  <div class="controls">

                      <strong>Password</strong><br/><input type="password" class="form-control custom-input-width" minlength="6" id="login-password" value="Asialouie!123" required>

                  </div>

                    <div class="control-group">
                  <div class="controls text-center">
                      <br/>
                      <input type="submit" class="btn btn-green" id="button-signup" value="Sign in">

                      <br/><p class="aligncenter"><br/>
                  Don't have an account? <a href="/register" >Sign up</a>
                  <br/>Forgot password? <a href="/sendRestForm">Reset</a>
                </p>


                </div>
          </form>

JQuery Ajax код:

 $("#loginUserForm").submit(function(event) {
       // Prevent the form from submitting via the browser.
     event.preventDefault();
    try{
        const email = $("#login-email").val();
        const password = $("#login-password").val();
        console.log("email: "+email);
        console.log("pass: "+password);
        var data = {};
            data.email =email;
            data.message =password;

        $.ajax({
                url: '/users/loginUser',
                type: 'POST',
                data: JSON.stringify(data),
                contentType: 'application/json',
                /**
                * A function to be called if the request succeeds.
                */
                success: function(data, textStatus, jqXHR) {


                    window.location.assign("/profile/?id="+data._id);
                },
                error : function(error) {
                    //alert(error.name + ': ' + error.message);
                    console.log(error);
                    $(".alert-signin").show();
                }
        });
       }
       catch(err) {
        console.log("err: "+err.message);
      }


});

Метод маршрута пользователя:

router.post('/loginUser', function(req, res) {
  console.log("in user login");
});

Этот маршрут Сообщение работает:

router.post('/',function(req,res){
    logger.info("email: "+req.body.email);
    User.findOne({ email:req.body.email}, function (error, user) {
        if(user){
            console.log("user exists");
            const error = new Error('User email account already exists.');
            res.status(410);
            res.send(JSON.stringify(error.message));

        }
        else{
          //save user  

          var pwd = req.body.password;

          bcrypt.genSalt(10, function(err, salt) {
              if (err) {
                logger.error("BCrype issue");
                const error = new Error("Unable to register, please try again.");
                //throw new Error('User email account already exists.');
                res.status(420);
                res.send(JSON.stringify(error.message));

              } else {
                  //console.log('Salt: ' + salt);
                  bcrypt.hash(pwd, salt, function (err, hash) {
                      if (err) {
                        logger.error("ERROR! users bcrypt");
                        const error = new Error("Unable to register, please try again.");

                        res.status(420);
                        res.send(JSON.stringify(error.message));
                      } else {

                        var user = new User({

                          firstname:req.body.firstname,
                          lastname :req.body.lastname,
                          email :req.body.email,
                          password : hash,
                          public:1,
                          admin: false,
                          bio : "",
                          location : "",
                          avatar: "",
                          url: "",
                          activated:"n"
                        });
                          user.save(function (error, user) {
                              if (error){ 

                                res.send(error.message);


                              }

                              res.send(user)
                          });    
                        }
                  });
              }
          });

    }

  });
 });   

Я ожидаю маршрут довозьмите информацию для входа в систему и войдите в маршрут LoginUser и выведите «in user login». Вот вывод консоли при публикации формы входа в систему:

POST http://localhost:3000/users/loginUser 500 (Internal Server Error) jquery-3.4.1.min.js:2

Я не понимаю, почему он показывает jquery-3.4. 1.min.js: 2 в консоли для ошибки 500.

Любая помощь будет принята с благодарностью.

...