如何解决错误'ext-all.js Uncaught TypeError:无法调用方法'getProxy

How can I resolve error 'ext-all.js Uncaught TypeError: Cannot call method 'getProxy' of undefined' ?

本文关键字:TypeError 调用 getProxy 方法 Uncaught js 错误 解决 何解决 ext-all      更新时间:2023-09-26

我试图将ExtJS与JSON数据库一起使用,但一直收到相同的错误:ext-all.js Uncaught TypeError: Cannot call method 'getProxy' of undefined

我的脚本是:

 Ext.onReady(function(
    var store=new Ext.data.Store( 
      reader=new Ext.data.JsonReader(        
                            {name: 'name'},
            {name: 'category' },
            {name: 'address'},                   
            {name: 'lat'},
            {name: 'long'},
                            {name: 'tel'},
                            {name: 'opening'},
            {name: 'closing'}),
                proxy=new Ext.data.HttpProxy({
            url : 'http://localhost/progetto/descrittore/json.php'}))
            // method : 'GET'
          })

在我的HTML中,我包括:

<script type="text/javascript" src="extjs/ext-all.js"></script>
<script type="text/javascript" src="extjs/prova.js"></script>

是什么导致了这个错误,我该如何解决?

根据类名,我猜您使用的是Ext JS 3。如果我错了,请纠正我。

问题是你没有遵循API。Store构造函数具有以下签名:

newExt.data.Store( Object config ) : Object

您应该提供单个配置对象。您可以传递阅读器和代理。与Reader相同。签名为

newExt.data.JsonReader( Object meta, Array/Object recordType ) : Object

您应该将元数据和记录定义作为数组传递。在纠正了这一点之后,Ext不再抛出exepctions。请参阅下面的代码。

Ext.onReady(function(){
    var store=new Ext.data.Store({
        reader: new Ext.data.JsonReader({}, [     
            {name: 'name'},
            {name: 'category' },
            {name: 'address'},                   
            {name: 'lat'},
            {name: 'long'},
            {name: 'tel'},
            {name: 'opening'},
            {name: 'closing'}
        ]),
        proxy: new Ext.data.HttpProxy({
            url : 'http://localhost/progetto/descrittore/json.php'
        })
    });
});