Как я могу решить ошибку 'ext-all.js Uncaught TypeError: Не удается вызвать метод' getProxy 'из неопределенного'? - PullRequest
0 голосов
/ 22 января 2012

Я пытался использовать 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>

В чем причина этой ошибки и как ее устранить?

1 Ответ

4 голосов
/ 22 января 2012

Из названий классов я думаю, что вы используете Ext JS 3. Поправьте меня, если я ошибаюсь.

Проблема в том, что вы не следуете API.Конструктор Store имеет следующую подпись:

newExt.data.Store( Object config ) : Object

Вы должны предоставить один объект конфигурации.Вы передаете ридер и прокси вместо этого.Та же история с Reader.Подпись

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

Вы должны передать метаданные и определение записи в виде массива.После исправления Ext больше не выбрасывает исключения.См. Код ниже.

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'
        })
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...