Backbone.js PUT и DELETE запросы формируются без идентификатора записи (id)

👁 1455

Столкнулся с проблемой при отправке PUT и DELETE запросов в backbone.js.

В запросе не указывался идентификатор изменяемой/удаляемой записи. Виной всему оказалась отдельно установленная библиотека backbone.paginator.

Каким-то образом, при использовании PageableCollection, модифицируется url при отправке PUT и DELETE запросов. Обходной путь: переопределить метод модели initialize таким образом:

 

var City = Backbone.Model.extend({
    initialize: function () {
        this.url = function () {
            if(this.get('id') !== undefined)
                return 'api/city/'  + this.get('id');
            else 
                return  'api/city'
        };
    }
});

 

Backbone - JavaScript-библиотека, основанная на шаблоне проектирования Model-View-Presenter. Предназначена для разработки веб-приложений с поддержкой RESTful JSON интерфейса. Backbone - очень лёгкая библиотека (упакованная и gzip-сжатая по величине ~6.3 Кб), но для работы необходима библиотека Underscore.js, а для поддержки REST API и работы с DOM элементами рекомендуется подключить jQuery или Zepto.

Новые статьи
Установка Webmin для Armbian (Orange Pi / Raspberry Pi)
Установка Webmin для Armbian (Orange Pi / Raspberry Pi)

Установка webmin для операционной системы Armbian (Orange Pi / Raspberry Pi). Install webmin for armbian.

Читать далее...
Текстовое поле с выпадающими подсказками при вводе текста C# WPF XAML
Текстовое поле с выпадающими подсказками при вводе текста C# WPF XAML

Простая реализация текстового поля с выпадающими подсказками (аналогично поиску у Яндекс и Google) при вводе текста на языке C# WPF. Реализация пользовательского элемента управления в C#/

Читать далее...
Yii2 advanced доступ из backend к frontend кэшу
Yii2 advanced доступ из backend к frontend кэшу

В заметке описан способ доступа к фронтэнд (frontend) кэшу (cache) advanced приложения из бэкэнда (backend) для php фреймворка Yii2.

Читать далее...