EXTJS броски исключения «реализовать было вызвано неверными удаленными данными» при успешном создании записи
-
24-09-2019 - |
Вопрос
Я использую Extjs в приложении монорельса. Я использую JSONSTORE, чтобы сохранить данные обратно к моему контроллеру. Я прочитал, обновляю и удалите работу правильно. Но я не могу понять, как отформатировать мой ответ на создание. В настоящее время Firebug дает мне следующую ошибку:
Uncaught Исключение: ext.data.daTareader: # #realize называли неверными удаленными данными. Пожалуйста, смотрите документы для DataReader # реализуйте и просмотрите конфигурацию данных.
Я Flammoxed о WTF, эта ошибка означает. У кого-нибудь есть указатели? Соответствующие биты кода ниже:
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 }
]
});
Мой нынешний ответ выглядит так, но это после большого количества проб и ошибок, поэтому оно широко видно.
{"success":true,"message":"OK!","undefined":[]}
Решение
Вам нужно будет вернуть записи в возвращении объекта JSON.
Перейдите к следующему примеру из моей книги, Ext JS в действии, которые показывают, как использовать писатель данных для действий CRUD.
http://extjsinaction.com/example/chapter08/usingwriterwithhttpproxy.html.
Щелкните правой кнопкой мыши, чтобы вставить новую запись. Соблюдайте Ajax Req от Firebug, и вы увидите его в действии.