2010-10-24 9 views
1

J'essaie d'obtenir des données simples dans un JSONStore, mais cela ne semble pas fonctionner. Le code est à peu près le même que les exemples:Chargement des données dans JSONStore

var itemListStore = new Ext.data.JsonStore({ 
    url: '/items/list', 
    root: 'items', 
    fields: [ 
     {name: 'id', type: 'string'}, 
     {name: 'name', type: 'string'}, 
    ] 
}); 
itemListStore.load(); 
... 
     items: [ 
     { 
     xtype: 'listview', 
     store: itemListStore, 
     columnResize: false, 
     flex: 1, 
     columns: [ 
      {header: 'ID', dataIndex: 'id'}, 
      {header: 'Name', dataIndex: 'name'}, 
     ] 
     } 
... 

Malheureusement, cela ne fonctionne pas. La table se charge avec aucune ligne et le nombre sur le magasin est 68 (comme renvoyé par le serveur, obtenu via listview.getStore().getCount()). Si je remplace JsonStore par un ArrayStore et quelques données statiques, je peux les voir.

Le résultat de /items/list est juste:

{"items": 
    [{"id": "a", "name": "Some name"}, 
    {"id": "b", "name": "Some other name"}] 
} 

Comment puis-je résoudre ce problème? Comment puis-je même déboguer cela?

Edit: mis à jour les informations sur le nombre record

+0

si à partir de la console vous Ext.getCmp ('yourlistview'). GetStore(). Reload(), pouvez-vous voir le retour XHR? – Orbit

+0

@Brandon - Quand je lance ceci, je reviens indéfini, mais une demande correcte est faite sur le réseau (selon firebug). – viraptor

+1

cela fonctionne-t-il si vous changez le xtype en grille? ;) – Orbit

Répondre

2

pouvez-vous essayer avec un magasin comme celui-ci:

  store: objPlanManagerStore = new Ext.data.Store({ 
       autoLoad: true, 
       proxy: new Ext.data.HttpProxy({ 
        url: '/your/url', 
        method: 'POST' 
       }), 
       reader: new Ext.data.JsonReader({ 
        root: 'plans', 
        id: 'id', 
        fields: ['id', 'name', 'descr', 'tname', 'type', 'recurring'] 
       }), 
       listeners: { 
        loadexception: function() { 
         Ext.Msg.alert('Title', 'msg'); 
        } 
       } 
      }); 

(juste collé de certains de mon code)

modifier: penser , le magasin ne semble pas être le problème cependant.

+0

Demande également les données correctement, mais je ne vois pas de résultats.La fenêtre d'exception ne s'affiche pas – viraptor

+0

Accepté comme réponse. Pour une réponse réelle d'Orbit, vérifiez les commentaires de la question. – viraptor