2016-07-10 1 views
0

Я отправляю некоторые данные для добавления в базу данных. Однако, когда база данных не может добавить что-то для различных ограничений, функция ошибки не вызывается. Как я могу показать ошибку, если есть ошибка базы данных?jQuery Ошибка AJAX POST и ошибка базы данных

var firstname = $('#firstname').val(); 
       var lastname = $('#lastname').val(); 
       var email = $('#email').val(); 
       var password = $('#password').val(); 
       var dataString = 'firstname=' + firstname + '&lastname=' + lastname + '&email=' + email + '&password=' + password; 
       $.ajax({ 
        type: "POST", 
        url: "../auth/signup", 
        data: dataString, 
        success: function (data) { 
         $('body').html("<h2>demo created successfully!</h2>"); 
        }, 
        error: function (data) { 
         $("body").html("<h2>Error!</h2>"); 
        } 
       }) 

На стороне сервера:

router.route('/signup') 
    .post(function (req, res) { 
     pg.defaults.ssl = true; 
     pg.connect(process.env.DATABASE_URL || 'postgres://...', function(err, client) { 
      if (err){ 
       console.log(err['detail']); 
       res.status(500).send('Connection to the database went wrong'); 
      } 
      client 
       .query(`INSERT INTO agent (admin, email, password, firstname, lastname) 
       VALUES (false, '${req.body.email}', '${req.body.password}', '${req.body.firstname}', '${req.body.lastname}');`, function(err, result) { 
        if(err){ 
         console.log(err); 
         res.stauts(500).send(err); 
        } 
       }); 
     }); 
+0

Какой у вас код разрыва? Он отправил ответ об ошибке? Ответ об ошибке в nodejs будет похож на res.status (500) .send («Что-то сломалось!»); –

+0

не очень. спасибо, пробуйте это! – ocram

+0

@ s-hunter добавлено – ocram

ответ

0

Вы должны убедиться, что ваш бэкенд API возвращает код статуса, который not in the range of 200-299 or 304

только тогда ошибка обратного вызова уволят.

+0

Я сделал это уже, как вы можете видеть из кода – ocram

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

  • Нет связанных вопросов^_^