我有一个jQuery AJAX函数,可以发送一些JSON数据存储在我的postgresql数据库中,我使用的是Node,Express和node-pg。
$.ajax({
type: 'POST',
data: newUser,
url: '/adduser',
dataType: 'JSON'
})
.done(function( response ) {
// Do something
})
.fail(function(errormsg) {
// Alert the sql error
alert(errormsg.responseText);
});
在处理客户端NodeJS中的插入时,我有
db.query('INSERT INTO userlist (' + keys + ') values ( ' + preppedString + ')', values, function(err, result) {
if (err){
var errorMessage = ("" + err);
res.send(errorMessage);
} else {
res.send(result);
}
});
现在,问题在于错误消息报告。如果我使用
将错误消息发送到客户端 var errorMessage = ("" + err);
res.send(errorMessage);
它完美无缺 - 你得到一个警告,说“错误:整数的输入语法无效:”ds“”
但是,如果我删除字符串连接,只需执行
var errorMessage = err;
res.send(errorMessage);
它根本不起作用 - 不会触发.fail AJAX选项(我认为)并且不会发出警告(绝对)。
我真的不太关心它 - 连接的第一个选项工作正常,只是想知道为什么它以这种方式表现
答案 0 :(得分:1)
您正在寻找错误对象的message
属性:
var errorMessage = err.message;
res.send(errorMessage);