Sencha tactile JSONPReader
-
25-10-2019 - |
Question
Utilisation tactile sencha 2, essaie de rendre un nestedlist avec proxy JSON. JSON ressemble
[
{
"start": "0"
},
{
"format": "json"
},
.......
{
"GetFolderListing": [
{
"folder": {
"total": 0,
"id": "Calendar",
"name": "Calendar",
"unread": 0,
}
},
{
"folder": {
"total": 0,
"id": "Contacts",
"name": "Contacts",
"unread": 0,
}
},
.......
Je veux utiliser GetFolderListing.folder.name comme displayField Mon magasin comme look
Ext.define('foo.store.FolderListing', {
extend: 'Ext.data.TreeStore',
require: ['foo.model.FolderListing'],
config: {
model: 'foo.model.FolderListing',
recursive: true,
proxy: {
type: 'jsonp',
url: 'http://localhost/?xx=yy&format=json',
callbackKey: "jsoncallback",
reader: {
type: 'json',
rootProperty: 'GetFolderListing',
record: 'folder'
}
}
}
});
En ce moment, tout ce que je reçois est une erreur Uncaught TypeError: Impossible de lire la propriété 'id' undefined
Quelqu'un pourrait-il donner un aperçu sur la façon de résoudre ce ou déboguer mieux ou comment faire l'analyse personnalisée et passer les articles de retour à un magasin?
Merci
======== Mise à jour - pour que le rootProperty au travail dans le lecteur, le JSON devait être un JsonObject plutôt qu'un tableau JSON par exemple
{
"GetFolderListing": [
{
"folder": {
"total": 0,
"id": "Contacts",
"name": "Contacts",
"unread": 0,
"leaf": "true"
}
},
{
"folder": {
"total": 0,
"id": "Conversation Action Settings",
"name": "Conversation Action Settings",
"unread": 0,
"leaf": "true"
}
},
.......
La solution
Vos regards JSON comme un tableau. Les moyens de message d'erreur que le code tente d'accéder à une propriété d'une variable non définie ou propriété.
Ma première hypothèse serait que le lecteur ne soit pas correctement configuré pour ce format type tableau JSON.