我建立在ExtJs 4的RESTFul Store example上。我想讓我的腳本顯示由REST服務器提供的錯誤,當Add或Delete請求失敗時。我設法獲得了請求的成功狀態(請參閱下面的代碼),但是如何獲取響應中提供的消息?如何獲取ExtJs 4中的REST響應消息?
商店:
var store = Ext.create('Ext.data.Store', {
model: 'Users',
autoLoad: true,
autoSync: true,
proxy: {
type: 'rest',
url: 'test.php',
reader: {
type: 'json',
root: 'data',
model: 'Users'
},
writer: {
type: 'json'
},
afterRequest: function(request, success) {
console.log(success); // either true or false
},
listeners: {
exception: function(proxy, response, options) {
// response contains responseText, which has the message
// but in unparsed Json (see below) - so I think
// there should be a better way to reach it than
// parse it myself
console.log(proxy, response, options);
}
}
}
});
典型REST響應:
"{"success":false,"data":"","message":"VERBOSE ERROR"}"
也許我做這一切錯誤的,所以任何建議表示讚賞。
超級!完美的作品,謝謝你的詳細解釋! :-D – Dae
最終我放棄了REST,轉而使用簡單的Ajax API。這是我的最終響應消息處理代碼:http://pastie.org/2657317 – Dae
這是一個很好的解釋... Sencha需要將它添加到他們的文檔! – HDave