2012-04-12 4 views
0

Ich benutze Sencha V2. Ich versuche, meine Liste mit den Werten in einer Users.json-Datei aufzufüllen.Laden nicht geladen

Der Code in meiner Liste Datei ist

Ext.define('iPolis.view.personlist',{ 
    extend:'Ext.List', 
    xtype: 'personlist', 
    requires: [ 
     'Ext.List', 
     'Ext.form.FieldSet', 
     'Ext.Button' 

    ], 

    config: { 
       fullscreen:true, 
       items: [ 
         { 
         xtype:'toolbar', 
         docked:'top', 
         title:'iPolis', 
          items:[ 
             { 
              ui:'back', 
              icon:'home', 
              iconCls:'home', 
              iconMask:true, 
              id: 'homebtn', 
              handler:function() 
                { 
                } 
             }, 

          ] 
         }, 

         { 
        xtype : 'list', 
        store : 'personListStore', 
        itemTpl : '<div class="contact">HI <br/> {name}</div>' 

         } 
        } 
       ] 

    } 
}); 

und der Laden ruft die Datei mit:

Ext.define('iPolis.store.personListStore', { 
      extend: 'Ext.data.Store', 
storeId:'personListStore', 
      model : 'iPolis.model.personListModel', 

      proxy : { 
       type : 'ajax', 
       url : '/users.json', 
       reader: { 
        type: 'json', 
        rootProperty: 'users' 
       } 
      }, 
      autoLoad: true 
    }); 

Der Code für meine JSON-Datei ist:

{ 
    "users": [ 
     { 
      "id": 1, 
      "name": "Ed Spencer", 
      "email": "[email protected]" 
     }, 
     { 
      "id": 2, 
      "name": "Abe Elias", 
      "email": "[email protected]" 
     } 
    ] 
} 

I bekomme einen leeren Bildschirm. Ich habe alles versucht, aber keine Daten werden auf dem Bildschirm angezeigt.

+0

Erstens, 'console.log (yourStore.getRange())', um sicherzustellen, dass Ihr Speicher tatsächlich Daten aus der JSON-Datei erhalten hat. Zweitens, bitte fügen Sie hier den Code Ihrer JSON-Datei, Modell-Datei, und ich werde Ihnen helfen, dies zu debuggen. –

+0

@Thiem: Ich habe den Code bearbeitet und die JSON-Datei hinzugefügt. Die JSON-Daten werden nicht in meine Liste geladen. Alles was falsch ist? – Khush

Antwort

0
Ext.define('iPolis.store.personListStore', { 
    extend: 'Ext.data.Store', 
    config:{ 
    model : 'iPolis.model.personListModel', 
    storeId:'personListStore', 
    proxy : { 
     type : 'ajax', 
     url : '/users.json', 
     reader: { 
      type: 'json', 
      rootProperty: 'users' 
     } 
    }, 
    autoLoad: true } }); 

versuchen Sie dies kann Ihnen helfen.

+0

nein. Dint Arbeit. Ich habe versucht, Dummy-Daten zu verwenden, um meine Liste zu füllen, aber selbst das funktioniert. Ich vermute also, dass es ein Problem mit meiner Logik mit der Liste und dem Speicher gibt. – Khush

+0

füge storeId in store hinzu und gebe es in der Liste als store ein, es funktioniert für mich. –

+0

Vielen Dank. Aber, für den Code -> "itemTpl: '

HI {name}{
'" Ich bekam eine Ein-Zeilen-Antwort von "HI" ohne Namen aus der JSON-Datei. Es gab mir einen Fehler, der besagt, dass "XMLHttpRequest Datei nicht laden kann: /// D: /TFS/iPolis/app/model/data/users.json? _dc = 1334561794830 & page = 1 & start = 0 & limit = 25. Origin null ist nicht erlaubt von Access- Kontroll-Erlauben-Ursprung. " – Khush

1

In Ihrer Liste ist der Laden personStore, aber Sie versuchen, personListStore zu verwenden.

+0

Ich habe personListStore überall verwendet. Tut mir leid für die Verwirrung. Ich habe versucht, ein Objekt der Speicherklasse zu erstellen und stattdessen zu verwenden. personListStore funktioniert nicht. – Khush