ExtJS: Ext.data.DataReader: #realize был вызван с недопустимыми удаленными данными - PullRequest
0 голосов
/ 02 апреля 2010

Я получаю сообщение об ошибке «Ext.data.DataReader: #realize вызвано с недопустимыми удаленными данными» при создании новой записи с помощью запроса POST Хотя похоже на обсуждение в этом разговоре , моя ситуация немного отличается:

Мой сервер возвращает pk новой записи и дополнительную информацию, которая должна быть связана с новой записью в сетке. Мой сервер возвращает следующее:

{'success':true,'message':'Created Quote','data': [{'id':'610'}, {'quoteNumber':'1'}]}

Где id - это PK для записи в базе данных mysql. quoteNumber - это сгенерированное значение в дБ, которое необходимо добавить в созданную запись.

Другие соответствующие биты:

var quoteRecord = Ext.data.Record.create([{name:'id', type:'int'},{name:'quoteNumber', type:'int'},{name:'slideID'}, {name:'speaker'},{name:'quote'}, {name:'metadataID'}, {name:'priorityID'}]);

var quoteWriter = new Ext.data.JsonWriter({ writeAllFields:false, encode:true });

var quoteReader = new Ext.data.JsonReader({id:'id', root:'data',totalProperty: 'totalitems', successProperty: 'success',messageProperty: 'message',idProperty:'id'}, quoteRecord);

Я в тупике. Любой ??

спасибо

1017 * Том *

Ответы [ 2 ]

2 голосов
/ 02 апреля 2010

[Ответ с ответом вместо комментария для форматирования кода ...]

Некоторое отступление форматирования прояснит разницу. Эта (правильная) форма возвращает один объект с двумя свойствами:

{
    'success':true,
    'message':'Created Quote',
    'data': [{
        'id':'610',
        'quoteNumber':'1'
    }]
}

Ваш исходный формат вернул два отдельных объекта с несовпадающими свойствами, которые не могут быть преобразованы в столбцы:

{
    'success':true,
    'message':'Created Quote',
    'data': [{
        'id':'610'
    },{
        'quoteNumber':'1'
    }]
}
1 голос
/ 02 апреля 2010

Оказывается, что ответ от сервера должен выглядеть следующим образом:

{'success':true,'message':'Created Quote','data': [{'id':'610','quoteNumber':'1'}]}

Тонкая разница, я не уверен, что понимаю ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...