私は、mysql dbと通信するnodejsサーバーと残りを介して通信するsencha touchアプリに取り組んでいます。
重複するエントリを追加しようとすると:
connection.query(sql, function (err, rows, fields) {
if (err){
console.log(err.message);
res.statusCode = 400;
res.json(err);
return;
} [...]
データベースはエラー「ER_DUP_ENTRY:キー「OfferNo」のエントリ「aaa12345678a」が重複しています」を返します。これが発生した場合、nodejs は sencha touch アプリに応答するはずです。現時点では、json 経由で返されます。
{
"code": "ER_DUP_ENTRY",
"index": 0
}
(メッセージが表示されないのはなぜですか?) しかし、これは問題ではありません。私のアプリでは、応答を使用してエラーメッセージを表示しようとしています:
currentProductBacklog.save({
failure: function(response, opt){
Ext.Msg.alert('Failed', response.responseText);
},[...]
今、私はアラートを受け取りますが、テキストはありません。応答に含まれるものをデバッグして確認すると、保存されているはずのオブジェクトが含まれていますが、エラー 400 の横にエラー メッセージはありません。サーバーが特別な形式で応答を送信する必要があるのか 、それともクライアント側で何か間違ったことをしているのかわかりません. どんな提案でもいいです!