我正在 Node 中构建一个应用程序,并且正在处理错误处理方面。我正在使用 ajax 将表单中的数据发布到我的服务器,然后上传到我的 postgresql 数据库中。限制之一是电子邮件必须是唯一的,否则会引发错误。我能够在服务器端控制台上打印错误,但我希望错误也能在客户端浏览器上 console.log 和/或发出警报。这是我尝试过的:
客户端:
$("#submit").click(function() {
var data = {
first_name: $("#firstName").val(),
last_name: $("#lastName").val(),
email: $("#email").val(),
password: $("#password").val()
};
$.ajax({
type: "POST",
url: "/add",
data: data,
success: function() {
console.log('success');
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert('some error');
}
});
});
服务器端:
router.route('/add').post(function(req, res) {
knex('users').insert({
first_name: req.body.first_name,
last_name: req.body.last_name,
email: req.body.email,
password: req.body.password
}).then().catch(function(error){
console.log("ERROR ERRROR ERROR " + error) //prints on console
res.send(error);
});
});
使用这段代码,问题是客户端没有调用错误函数...有人可以帮忙吗?
提前谢谢您!
最佳答案
这正是 ajax 中的成功
和错误
的用途。您可以使用它来发送成功或错误状态代码。例如:res.send(400)
或 res.send(200)
。
您还可以随响应一起发送数据,例如 res.send(400, data)
当然,您可以使用任何您认为方便的其他 HTTP 代码。
现在,在
error: function(data)) {
alert('some error');
}
应该触发警报
关于javascript - 向客户端发送ajax错误问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34453663/