Question

J'essaye d'implémenter la communication entre ExtJS et Java. J'envoie des requêtes d'ExtJS à un serveur Java utilisant netty.J'apprécierais si quelqu'un pouvait m'envoyer un exemple de la façon dont la réponse devrait être formatée du côté java et comment lire les données de réponse du côté ExtJS merci d'avance. Ceci est ma source du côté ExtJS

var store = new Ext.data.JsonStore({
    autoload: true,
    baseParams: {
        conid : '6b09477f-aa04-4f5a-b969-05277d01f07e'
    },
    root: 'OpenCashTime',
    proxy: new Ext.data.ScriptTagProxy({
        url: 'http://localhost:8080/getOpenCash?'
    }),
    fields: [{name: 'Time', mapping: 'Time', type: 'int'}]                  
});
store.load();
store.on('load', function() {
    alert(store.getTotalCount());                   
});
store.on('write', function() {                  
    alert(store.getTotalCount());
});
store.on('loadexception', function() {
    alert("AAAAAA");
});
store.on('metachange', function() {
    //alert(store.getTotalCount());
});
store.on('update', function() {
    //alert(store.getTotalCount());
});
store.on('save', function() {
    //alert(store.getTotalCount());
});
store.on('datachanged', function() {
    //alert(store.getTotalCount());
});

Lors de l'exécution de ce code et de la réception de cette réponse {"OpenCashTime": [{"Time": 1291623637000}, {"Time": 1294914317000}]} J'obtiens toujours une loadexception bien que même Firebug voit son Json

Était-ce utile?

La solution

En supposant à partir de votre titre que vous souhaitez charger des données dans JsonStore, il attend une chaîne Json valide, avec une propriété stockant un tableau d'objets JSON, qui sera chargée en tant qu'enregistrements.Le nom de la propriété est défini par la propriété root lors de la configuration de JsonStore.

Stockez comme ceci:

{
  xtype: 'jsonstore',
  root: 'data',
  idProperty: 'ID',
  fields: [
    {name: 'ID', mapping: 'ID', type: 'int'}
    {name: 'someDate', mapping: 'someDate', type: 'date', dateFormat: 'Y-m-d'}
  ],
  url: 'hereBeYourURl'
}

Je mangerai volontiers quelque chose comme ceci:

{"data":[{"ID":"1","someDate":"2002-10-02"},{"ID":"2","someDate":"2002-05-22"}]}

Autres conseils

fields: [{name: 'Time', mapping: 'Time', type: 'int'}]  
fields: [{name: 'Time', type: 'int'}]  

BTW Dans le cas d'un mappage d'identité, vous pouvez le laisser de côté.Ces deux cas vous donneront les mêmes résultats.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top