dojo 1.10 JsonRest idAttribute - сервер передал float в PUT
Я только начал работать с dojo/JsonRest, но у меня возникли проблемы с отправкой обновлений на мой сервер. У меня есть 2 вопроса, с которыми я застрял;
Приведенный ниже код создает сетку с одним из столбцов, которые можно редактировать. Первичным ключом в моих данных json является атрибут "jobName" (отсюда idAttribute в хранилище JsonRest).
Первый вопрос о URI в PUT; - Когда я вызываю dataStore.save(), сервер получает PUT, но URI является /myrestservice/Jobs/0.9877865987 (он меняется каждый раз, но всегда является плавающей точкой) - Я не вижу, где dojo получает число с плавающей точкой от? Это не мое значение idAttribute из этой строки. Как я могу заставить PUT уважать idAttribute в магазине JsonRest? - Я попытался установить idProperty в MemoryStore на "jobName", но это изменило PUT на POST и удалило float, но я все еще не получаю jobName в URI, который нужен моему REST-серверу.
Второй вопрос о содержании PUT; - PUT содержит весь ряд. Мне бы очень понравился атрибут idAttribute и данные, которые изменились - возможно ли это?
Я ознакомился с примерами и документами, но примеров обработки PUT/POST в JsonRest не так много.
Спасибо
var userMemoryStore = new dojo.store.Memory( );
var userJsonRestStore = new dojo.store.JsonRest({target:"/myrestservice/Jobs/", idAttribute:"jobName"});
var jsonStore = new dojo.store.Cache(userJsonRestStore, userMemoryStore);
var dataStore = new dojo.data.ObjectStore( {objectStore: jsonStore } );
/*create a new grid*/
var grid = new dojox.grid.DataGrid({
id: 'grid'
,store: dataStore
,structure: layout
,rowSelector: '20px'}
,"gridDiv");
grid.startup();
dojo.query("#save").onclick(function() {
dataStore.save();
});
1 ответ
Я думаю ты хочешь idProperty
не idAttribute
, Это также может помочь установить idProperty
в хранилище памяти, которое также используется для кэширования; это может быть то, что генерирует случайное плавание.
Что касается второго вопроса, это, вероятно, потребует настройки; Я не верю, что магазины (или сети) OOTB, как правило, ожидают отправки частичных товаров.