我正在扩展HttpProxy并预加载24个商店。在我添加要加载的第24个存储之后发生错误,我已经尝试仅在请求时加载它并且在调用laod时发生错误。 ExtJS专家请帮忙!我正在使用ExtJS 2.3
Uncaught RangeError: Maximum call stack size exceeded
Ext.override.listeners.loadexception extensions.js:12
Ext.util.Event.fire ext-all-debug.js:1521
Ext.util.Observable.fireEvent
我在extension.js中的小扩展代码:
Ext.override(Ext.data.HttpProxy,{
listeners: {
'loadexception' : function(proxy, options, response){
var data = eval("(" + response.responseText + ")");
if (data.errorCode == "1") { //session expired or auth error
location.reload(true);
} else {
this.fireEvent("loadexception",proxy,options,response);
}
}
}
});
答案 0 :(得分:0)
您的loadexception
异常处理程序在else
块.
So if somehow
data.errorCode is not
1中抛出相同的异常,它将以递归方式调用它一次又一次。因此调用堆栈大小超过错误。
解决方案:您可以执行以下操作来阻止它,
loadexception
loadexception
,请确保更改或处理回复,以使其无法data.errorCode != 1