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: [{

在我的javascript代码中,我不断遇到以下错误:

未捕获类型错误:无法调用未定义的方法“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
似乎未定义。解决此问题的最简单方法包括两个简单步骤:

  • 确保已包含创建
    Ext.Ajax
    的javascript文件。如果您使用的是
    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
,你试过第二个建议吗?如果你找到了,你能发布你是如何解决这个问题的,以帮助其他可能跟进的人吗?