2012-01-22 3 views
1

Я новый пользователь ExtJS, и у меня есть следующая проблема. Я пытаюсь загрузить некоторые данные в сетку ExtJS, которая сериализована для json на сервере (я использую метод django serialize()), но я получаю пустую сетку. Проблема, похоже, связана с функцией обратного вызова, которая загружает данные в сетку, но я не могу ее решить.ExtJs 4 Добавить записи в сетку от JSON

Вот мой код:

Контроллер-функция

renderStudentList:function(){ 
      var ul = this.getStore('Users');     
      ul.load({ 
       scope :this, 
       callback : function(records, operation, success){ 
        for(i in records){ 
/* here, i think, should be a code that assigns values from json to the grid records */ 
         console.log(records[i].get('fields').name, records[i].get('fields').email);     
        }  
       }  
      }); 
    } 

JSON-данные, которые я получаю от сервера

{success:true, "students":[{"pk": 1, "model": "poll.student", "fields": {"name": "Bob", "email": "[email protected]"}}, {"pk": 2, "model": "poll.student", "fields": {"name": "Sam", "email": "[email protected]"}}]} 

моя модель

Ext.define('AM.model.User', { 
    extend: 'Ext.data.Model', 
    idProperty: 'pk', 
    fields: [{ 
     name:'pk', 
     type:'integer' 
    },{ 
     name: 'fields', 
     type: 'object' 
    }] 
}); 

мой магазин

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

    proxy: { 
     type: 'ajax', 
     api: { 
      read: '/ex/'    
     }, 
     reader: { 
      idProperty: 'pk', 
      type: 'json', 
      root: 'students', 
      successProperty: 'success' 
     } 
    } 
}); 

Спасибо всем!

ответ

1

Я думаю, что ваш JSON хотел бы это, если я не ошибаюсь:

{success:true, "students":[{"pk": 1, "fields": {"name": "Bob", "email": "[email protected]"}}, {"pk": 2, "fields": {"name": "Sam", "email": "[email protected]"}}]} 

Это будет сделано в питона что-то вроде этого: после того как вы получаете вашу строку JSON: сейчас в вашей строке json;

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