Javascript 未捕获类型错误:无法调用方法';请求';未定义的
在我的javascript代码中,我不断遇到以下错误:Javascript 未捕获类型错误:无法调用方法';请求';未定义的,javascript,json,extjs,Javascript,Json,Extjs,在我的javascript代码中,我不断遇到以下错误: 未捕获类型错误:无法调用未定义的方法“request” 下面是我的Javascript。任何帮助都将不胜感激 myJsonStore = { store1: new Ext.data.JsonStore({ root: 'rootstore1', fields: ['UserID', 'UserName'] }) }; //------My panel------ items: [{
未捕获类型错误:无法调用未定义的方法“request”
下面是我的Javascript。任何帮助都将不胜感激
myJsonStore = {
store1: new Ext.data.JsonStore({
root: 'rootstore1',
fields: ['UserID', 'UserName']
})
};
//------My panel------
items: [{
xtype: 'combo',
id: 'UName',
fieldLabel: 'User',
emptyText: 'All',
store: myJsonStore.store1,
displayField: 'UserName',
valueField: 'UserID'
}]
//--------------------
Ext.Ajax.request({
url: "rPages/rLogMatchOdds.aspx",
params: {
m: 'init'
},
success: function(response) {
var data = Ext.decode(response.responseText);
myJsonStore.store1.loadData(data);
}
});
Ext.getCmp('UName').store.on('load', function(my, rec) {
Ext.getCmp('UName').setValue(rec[0].get('UserName'));
}, this);
通常,当错误的形式为
无法调用未定义的
方法“X”时,这意味着您试图从中调用X
的任何对象都不存在
在您的情况下,Ext.Ajax
似乎未定义。解决此问题的最简单方法包括两个简单步骤:
- 确保已包含创建
的javascript文件。如果您使用的是Ext.Ajax
文件,那么您不必担心这个问题ext all.js
- 确保在浏览器准备就绪之前,所有代码都不会执行。最好的方法是将所有代码包装在
调用。我在下面提供了一个例子Ext.onReady()
Ext.onReady( function() { //your code goes here });
你可以在网站上看到更多这样的例子。也被这个问题所困扰 解决方案是在
Ext.onReady
之前调用Ext.require('Ext.Ajax')
,如下所示:
Ext.require('Ext.Ajax');
Ext.onReady(function() {
Ext.Ajax.request({
// your code here...
});
这意味着未设置
Ext.Ajax
。我的错误是数据力显示在组合框中。你能详细说明你的解决方案吗?哇,这个问题有50000个视图和2个点。我使用了这个Ext-all.js文件。如果你使用Ext-all.js
,你试过第二个建议吗?如果你找到了,你能发布你是如何解决这个问题的,以帮助其他可能跟进的人吗?