我正在发送一些数据以添加到数据库中。但是,当数据库无法为各种约束添加内容时,不会调用错误函数。如果出现数据库错误,如何显示错误?
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 :(得分:0)
您需要确保后端API返回not in the range of 200-299 or 304
然后只会触发错误回调。