这包含在主应用程序的require语句中。它加载Ajax然后死掉。我正在使用 Extjs 5.代码位于ui /下的覆盖文件夹中。它似乎无法在与app相同级别的文件夹中找到代码。
Ext.define('Ext.overrides.Ajax', {
override : 'Ext.data.Connection',
listeners : {
requestexception : function(response) {
var error = response.status + ' - ' + response.statusText;
// if response status is 202 (Accepted), should
// have warning message
if (response.status == 202) {
Ext.Msg.show({
title : 'REST Warning message',
msg : 'Ajax Request Exception! ' + error,
cls : 'msg-wrap',
buttons : Ext.Msg.OK,
icon : Ext.Msg.WARNING
});
}
if (response.status > 400) {
var errorData = Ext.JSON.decode(response.responseText);
Ext.Msg.show({
title : 'REST Error message',
msg : 'Ajax Request Exception! ' + errorData,
cls : 'msg-wrap',
buttons : Ext.Msg.OK,
icon : Ext.Msg.ERROR
});
}
}
}
});
答案 0 :(得分:1)
我有类似的问题。在ExtJS 4中,我配置了与你的配置一样的Ext.Ajax覆盖。
为了让它与ExtJS 5一起使用,我阅读http://www.sencha.com/blog/top-support-tips-october-2014并成功将我的覆盖结构更改为以下内容:
Ext.define('Ext.override.AjaxOverride', {
override: 'Ext.Ajax'
// omitted overridden properties...
}, function() {
var me = this;
me.setExtraParams({
foo: "bar"
});
me.setUrl('MyUrl');
me.setTimeout(600000);
me.on({
scope: me,
requestexception: function(conn, response, opts) {
// my exception handling
}
});
});