Ho configurato il mio negozio come:errore griglia di ExtJS, i dati JSON non viene visualizzata
var store = new Ext.data.JsonStore({
url: 'gridData.php',
root: 'movies',
fields: ['film_id', 'title', 'release_year', 'rating']
});
e quindi definito la mia griglia come:
var grid = new Ext.grid.GridPanel({
title:'Movies',
store: store,
columns: [
{ header: "ID", width: 30, dataIndex: 'film_id',sortable: true, hidden:true },
{ id: 'title-col', header: "Title", width: 180,dataIndex: 'title', sortable: true },
{ header: "Rating", width: 75, dataIndex: 'rating',sortable: true },
{ header: "Year", width: 75, dataIndex: 'release_year',sortable: true, align: 'center' }
],
autoExpandColumn: 'title-col',
renderTo: Ext.getBody(),
width: 600,
height: 300,
loadMask: true
});
poi ho caricare il negozio:
store.load();
Sto facendo tutto questo nel metodo Ext.onReady
. I dati che voglio visualizzare vengono recuperati da un file php che è della forma seguente:
{ "count":2, "movies":[{ "film_id":"1", "title":"ACADEMY DINOSAUR", "description":"An Epic Drama of a Feminist And a Mad Scientist who must Battle a Teacher in The Canadian Rockies", "release_year":"2006", "rating":"PG", "special_features":"Deleted Scenes,Behind the Scenes" }, { "film_id":"2", "title":"ACE GOLDFINGER", "description":"An Astounding Epistle of a Database Administrator And an Explorer who must Find a Car in Ancient China", "release_year":"2006", "rating":"G", "special_features":"Trailers,Deleted Scenes" } ] }
Quando la pagina viene caricata, la griglia continua a mostrare la maschera di carico ed i dati non è mai mostrato. Inoltre, ottengo l'errore a is undefined.
Cosa mi manca?
Modifica
ho scoperto che c'è qualche problema di percorso durante l'assegnazione di URL per memorizzare, ma ancora non in grado di risolvere. Il mio file "gridData.php", il file JS e il file HTML in cui viene visualizzata la griglia, si trovano nella stessa cartella e sono su "localhost/myapp". Per favore aiuto!
Cordiali saluti, ho copiato il codice e corse su ExtJS 3.3.1, e funziona come previsto. Nessun errore trovato. Una cosa che suggerirei è controllare il codice PHP. Assicurati che il JSON restituito sia pulito e valido. Da quello che vedo, il JSON sembra essere codificato in qualche modo. Alcune spaziature non sembrano naturali da 'json_encode'. –