3

我正在开发一个 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 旁边。我不知道我的服务器是否需要以特殊格式发送响应,或者我在客户端做错了什么。任何建议都会很好!

4

0 回答 0