私は新しい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'
}
}
});
ありがとうございます!
{success:true, "students":[{"pk": 1, "fields": {"name": "Bob", "email": "[email protected]"}}, {"pk": 2, "fields": {"name": "Sam", "email": "[email protected]"}}]}
をこれはpythonでこのような何かに行われます:あなたはJSON文字列を受け取る後 を:今
申し訳ありませんが、私はこの方法をどのように使用すればよいですか? – orko