ExtJS getta eccezione “realizzare è stato richiamato con validi remoto dei dati” sulla creazione di successo del disco

StackOverflow https://stackoverflow.com/questions/2389135

  •  24-09-2019
  •  | 
  •  

Domanda

Sto usando ExtJS in un'applicazione monorotaia. Sto usando un JsonStore a persistere indietro i dati al mio controller. Ho letto, di aggiornamento e di lavoro di eliminazione correttamente. Ma io non riesco a capire come formattare le spalle risposta su crea. Attualmente, Firebug mi dà il seguente errore:

  

eccezione non rilevata:   Ext.data.DataReader: #realize era   chiamato con remote-dati non validi.   Si prega di consultare la documentazione per   DataReader # realizzare e revisione vostro   DataReader configurazione.

Io sono sconcertò circa WTF questo mezzo di errore. Qualcuno ha puntatori? bit rilevanti di codice qui sotto:

 var proxy = new Ext.data.HttpProxy({
        api: {
            read: '../foo/bar.rnr',
            create: '../foo/CreateBar.rnr',
            update: '../foo/UpdateBar.rnr',
            destroy: '../foo/DeleteBar.rnr'
        }
    });

    var writer = new Ext.data.JsonWriter({
        encode: true,
        writeAllFields: true,
        listful: true,
        destroyRecord: function(rec) {
            return this.toHash(rec);
        }
    });


    var store = new Ext.data.JsonStore({
        autoLoad: true,
        autoSave: false,
        url: '../foo/bar.rnr',
        method: 'get',
        baseParams: { Id: pageParameters.Id },
        proxy: proxy,
        writer: writer,
        id: 'Id',
        fields: [
            { name: 'Id', type: 'int' },
            { name: 'Name', type: 'string' },
            { name: 'Note', type: 'string', defaultValue: null }

        ]
    });

Il mio attuale aspetto di risposta come questo, ma questo è dopo un sacco di tentativi ed errori, quindi è prolly hosed.

{"success":true,"message":"OK!","undefined":[]}
È stato utile?

Soluzione

È necessario restituire i record in oggetto JSON ritorno.

Vai al seguente esempio dal mio libro, Ext JS in azione, che mostra come usare scrittura di dati per le azioni CRUD.

http://extjsinaction.com/examples/chapter08/usingWriterWithHttpProxy.html

Tasto destro del mouse per inserire un nuovo record. Osservare il req Ajax è da Firebug e vedrete in azione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top