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, как правило, ожидают отправки частичных товаров.

Другие вопросы по тегам