2013-03-07 2 views
2

Я новичок в ExtJS и изучал учебники по сенчам, и один просто не хочет работать (учебник по приложениям).Магазин ExtJS с прокси-сервером ajax не загружает данные

У меня есть простой магазин для сетки, и когда хранилище использует прокси AJAX для чтения json-файла, данные не отображаются, и в соответствии с вкладкой net в firebug ничего не было загружено, потому что это пустой. И никакой ошибки не возникает, что так всегда. Но если я добавлю плохой url для моего json-файла, тогда он выдает ошибку, которую он не может найти.

мой магазин выглядит следующим образом:

Ext.define('AM.store.Users', { 
    extend: 'Ext.data.Store', 
    model: 'AM.model.User', 
    autoLoad: true, 

    proxy: { 
     type: 'ajax', 
     url: 'data/users.json', 
     reader: { 
      type: 'json', 
      root: 'users', 
      successProperty: 'success' 
     } 
    } 
}); 

мой файл JSON как это:

{ 
    "success": true, 
    "users": [ 
     {"name": "Ed", "email": "[email protected]"}, 
     {"name": "Tommy", "email": "[email protected]"} 
    ] 
} 

модель:

Ext.define('AM.model.User', { 
    extend: 'Ext.data.Model', 
    fields: ['name', 'email'] 
}); 

это точно так же, как и в исходном файле загружаемой из учебника, который также не работает. Если данные определены внутри магазина, все в порядке. Пожалуйста, помогите, полностью заблокирован здесь.

Спасибо!

+0

Как выглядит модель? – Ankit

+0

Возможно, вам нужно разместить пример на сервере, чтобы Ajax работал правильно. – Eric

+0

используйте 'ext-all-dev.js' или' ext-dev.js', поэтому у вас больше регистраций. Откройте консоль. Что он говорит? Вам также потребуется ваша модель;) просто добавьте дополнительный параметр 'требует: ['AM.model.User']'. Как @Eric sais, вы работаете с веб-сервера? – VDP

ответ

1

Вам нужно сделать ajax-звонки в настройках сервера, как сказал Эрик. Чтобы ответить на вопрос о загрузке внешних данных, вы не можете этого сделать, потому что причина, по которой он не работает в первую очередь, объясняется соображениями безопасности, которые, если их можно обойти, не имеют смысла. Единственным способом, с помощью которого я мог бы загружать данные из внешнего файла, было бы сохранение данных JSON как объекта во внешнем файле .js и просто использование свойства данных хранилища для установки данных на этот объект во внешнем файле ,

Смежные вопросы