Javascript extjs全局处理http响应
我有点被ajax/http异常处理卡住了:我正在尝试在extjs中全局处理Javascript extjs全局处理http响应,javascript,extjs,Javascript,Extjs,我有点被ajax/http异常处理卡住了:我正在尝试在extjs中全局处理401异常,并尝试使用以下代码来实现这一点: Ext.Ajax.on('requestexception', function (conn, response, options) { if (response.status === 401) { log.console = '401 recieved'; } }); 它可以正常工作并处理401,但仅当您显式地使Ext.Ajax.requ
401
异常,并尝试使用以下代码来实现这一点:
Ext.Ajax.on('requestexception', function (conn, response, options) {
if (response.status === 401) {
log.console = '401 recieved';
}
});
它可以正常工作并处理
401
,但仅当您显式地使Ext.Ajax.request()
时。它不处理ajax存储。。。所以问题来了:我能处理所有出现在我的应用程序中的401http
错误吗?谢谢 您将需要对用于进行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);
}
})
是的,我考虑过这样的解决方案。。。我只是觉得普通AJAX也有类似的功能。谢谢你的回复,真的很有帮助!您使用的是什么版本的Extjs?我已经在我的应用程序中这样做了,但是extjs4和extjs4的代码不同3@Reimius,目前我正在使用ExtJS版本。4.1. 你认为这样一个基本的东西可以重写吗?我们重写应用程序Ext.data.Connection中的一个方法,所有使用ajax的方法都继承自该类。如果我有时间,我会举个例子。