【发布时间】:2012-07-06 00:07:39
【问题描述】:
我尝试加载商店,但由于某种原因,我在 Google Chrome(最新版本)中收到此错误:
Uncaught TypeError: Cannot call method 'apply' of undefined ext-all-debug.js:8586
fire ext-all-debug.js:8586
Ext.define.continueFireEvent ext-all-debug.js:24623
Ext.define.fireEvent ext-all-debug.js:24601
Ext.define.onProxyLoad ext-all-debug.js:50186
Ext.define.processResponse ext-all-debug.js:39168
(anonymous function) ext-all-debug.js:39381
Ext.apply.callback ext-all-debug.js:6422
Ext.define.handleResponse ext-all-debug.js:18769
(anonymous function) ext-all-debug.js:1815
(anonymous function)
Internet Explorer 8 中的这个:
Message: 'fireFn' is null or not an object
而 FireFox(最新版本)似乎忽略了它。
我在ext-all-debug.js 中插入了一些新行,因此行号可能会偏移 5-10 行。
这是商店:
Ext.define("FI.store.units.InstallBaseStore", {
extend:'Ext.data.Store',
requires: "FI.model.units.InstallBaseModel",
model: "FI.model.units.InstallBaseModel",
storeId: 'installBaseStore',
pageSize:10,
proxy: {
type: 'jsonp',
url: urls.QSUrl+"/search",
limitParam: 'undefined',
startParam: 'offSet',
pageParam: 'undefined',
extraParams: {
searchString: '*:*',
index: "fleet",
role: "Admin"
},
reader: {
root: 'results.results',
totalProperty: 'numFound',
model: 'FI.model.units.InstallBaseModel'
}
},
listeners:{
beforeload: {
fn:function(){
console.log("BEFORE LOAD");
this.getProxy().setReader({
root: 'results.results',
totalProperty: 'numFound',
model: 'FI.model.units.InstallBaseModel'
});
console.log(this.getProxy().getReader());
}
}
}
});
有什么想法吗?
【问题讨论】:
-
如果您在 Google Chrome 中,您可以通过转到“脚本”选项卡并按下小停止符号直到它变成蓝色(异常时暂停)来告诉它在发生错误时暂停执行。然后,当您运行程序时,它会准确显示您的错误在哪一行,您可以检查变量并在命令行上运行表达式,您还可以上下移动堆栈跟踪以查看事情进展情况。
-
@missingno 这是一个不错的功能,但它似乎对我没有多大帮助......您是否还有其他想法?
-
您可能只是在某个地方打错了一个变量,而这里没有人能够猜到在哪里。利用调试器,您无需手动添加大量打印语句即可找到程序的位置。
-
1.你为什么那样做? 2. 你不需要你的模型,因为你已经声明你正在使用它 3. 你的代理实际上应该进入你的模型,而不是你的商店。 4. 如果您使用示例中的阅读器,它是否有效?
-
@NeilMcGuigan 我添加了
require,因为我在某些时候对模型有一些问题,我认为这可能是一个好习惯。至于代理,我认为将其添加到商店更有意义(因为在文档中有此选项)。事实证明,这实际上是我的错误,但我不知道为什么。请将此作为答案发布,以便我接受。请您向我解释为什么这种方法是错误的。希望我能以这种方式了解更多信息(我是 ExtJS 的新手)。非常感谢!
标签: javascript extjs extjs4.1