我对ajax / http异常处理有点困惑:我试图在extjs中全局处理401异常,并尝试使用以下代码来执行此操作:
Ext.Ajax.on('requestexception', function (conn, response, options) {
if (response.status === 401) {
log.console = '401 recieved';
}
});
它工作正常并处理401,但只有当您明确地生成Ext.Ajax.request()时.它不处理ajax商店…所以这里有一个问题:我可以处理所有401 http错误来到我的应用程序?谢谢!
最佳答案 您需要对使用Ajax连接的任何Ext类进行错误处理.其中一些可能包括Ext.data.Connection,Ext.data.proxy.Ajax和Ext.form.action.Action.
例如,使用Ext.data.proxy.Ajax,您可以覆盖类以在requestexception上添加侦听器:
Ext.define('MyApp.override.AjaxProxy', {
override: 'Ext.data.proxy.Ajax',
constructor: function(config) {
this.callParent(config);
this.on('requestexception', MyApp.utils.Utils.handle401Error);
}
})