Essayer de charger Ext magasin avec des données JSON à partir d'une requête AJAX retourne l'erreur
Suis tenter de le charger et Ext Magasin avec Ext 4.0.7.
C'est au retour d'une Objet ne gère pas cette propriété ou cette méthode d'erreur lorsque j'appelle la loadRawData méthode sur la boutique dans la réussite de rappel de la requête AJAX.
Voici les données que je suis de chargement:
{
"data": [
{
"id": 1,
"source": "1445261",
"target": "1437043",
"sourceType": "user",
"redirectUrl": "http://www.google.co.uk",
"message": "this is a notification message",
"targetType": "user",
"messageType": "notification",
"sentDate": "1354758001",
"notificationType": "notification",
"parameters": "null",
"read": "false",
"readDate": 1354758001
},
{
"id": 2,
"source": "1445261",
"target": "1437043",
"sourceType": "user",
"redirectUrl": "http://www.google.co.uk",
"message": "this is a notification message",
"targetType": "user",
"messageType": "notification",
"sentDate": "1354758001",
"notificationType": "notification",
"parameters": "null",
"read": "false",
"readDate": 1354758001
},
{
"id": 3,
"source": "1445261",
"target": "1437043",
"sourceType": "user",
"redirectUrl": "http://www.google.co.uk",
"message": "this is a notification message",
"targetType": "user",
"messageType": "notification",
"sentDate": "1354758001",
"notificationType": "notification",
"parameters": "null",
"read": "false",
"readDate": 1354758001
}
]
}
C'est le code du magasin et de la requête ajax:
var infoStagingStore = Ext.create('Ext.data.Store', {
model: 'SCB.RMWB.InfoBar.Model.Message',
storeId: 'Staging',
autoLoad: false,
pageSize: 10,
proxy: {
type: 'pagingmemory',
reader: {
type: 'json',
root: 'data'
}
},
listeners: {
load: function(){
console.log('loaded');
}
}
});
Ext.Ajax.request({
url: '/rmwb/resources/js/app/infoBar/data/data.json',
timeout: 60000,
method: 'GET',
scope: this,
params: '',
success: function(resp) {
console.log(resp.responseText);
var store = Ext.data.StoreManager.lookup('Staging');
store.loadRawData(resp.responseText, true);
},
failure: function(resp, opts) {
},
callback: function(options, success, resp) {
}
});
Ne voit pas bien pourquoi c'est de retourner une erreur?
- est-il une bonne raison pour ne pas utiliser un proxy ajax? pourquoi êtes-vous de charger le magasin de cette façon? Je veux dire, pagingmemory est-il pour l'échange des données, nous avons en mémoire, mais... l'extraction de données à partir du serveur.
- A juste point de. Mais comment puis-je charger des données dans un pagingmemory magasin de chargement de la page à partir du serveur? Ai-je besoin pour charger les données à partir du dessus de magasin à un pagingmemory magasin. L'exigence est de tirer l'historique des données du serveur, puis accepter de nouvelles données par l'intermédiaire d'interrogation qui sera ensuite ajoutée à la pagingmemory magasin.
Vous devez vous connecter pour publier un commentaire.
Comme dans mon commentaire, vous n'avez pas besoin d'un pagingmemory magasin. Ce que vous avez besoin est un ajax magasin, car la pagingstore est pour permettre à la pagination avec les données en mémoire, mais il n'y a pas de raison de l'utiliser pour voir votre exigence.
Donc, si vous utilisez un standard ajax proxy, vous serez en mesure de charger en mode normal (en utilisant le .la méthode load ()). Ensuite, lorsque vous avez besoin de ajouter plus de l'enregistrement à partir du serveur de vous ce que vous avez à faire est de simplement appeler la méthode load de nouveau, mais avec la addRecords option.
Par exemple (non testé l'échantillon):
Voyant que vous avez attribué à votre magasin pour une variable appelée
infoStagingStore
pourrait que vous ne venez pas de référence de ce répertoire dans votre appel ajax?