我正在开发一个 sencha touch 应用程序,它通过 rest 与 nodejs 服务器通信,该服务器与 mysql db 通信。
当我尝试添加重复条目时:
connection.query(sql, function (err, rows, fields) {
if (err){
console.log(err.message);
res.statusCode = 400;
res.json(err);
return;
} [...]
db 返回错误“ER_DUP_ENTRY: Duplicate entry 'aaa12345678a' for key 'OfferNo'”。如果发生这种情况,我的 nodejs 应该响应 sencha touch 应用程序。目前它通过json返回:
{
"code": "ER_DUP_ENTRY",
"index": 0
}
(为什么缺少消息?)但这不是问题。在我的应用程序中,我尝试使用响应来显示错误消息:
currentProductBacklog.save({
failure: function(response, opt){
Ext.Msg.alert('Failed', response.responseText);
},[...]
现在我收到警报,但没有文字。当我调试并查看响应中包含的内容时,它包含应该已保存的对象,但没有错误消息,在某处的错误 400 旁边。我不知道我的服务器是否需要以特殊格式发送响应,或者我在客户端做错了什么。任何建议都会很好!