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

156

Столкнулся с проблемой при отправке 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.

Читать далее...
C# паттерн проектирования Одиночка (Singleton)
C# паттерн проектирования Одиночка (Singleton)

Обзор и пример использования шаблона (паттерна) проектирования Одиночка (Singleton) на языке программирования C# (си шарп), достоинства и недостатки паттерна проектирования Синглтон

Читать далее...
Orange Pi / Raspberry Pi - установка и настройка Django в Linux Armbian
Orange Pi / Raspberry Pi - установка и настройка Django в Linux Armbian

Описание процесса установки и настройки python фреймворка django на одноплатных мини компьютерах orange pi / raspberry pi в операционной системе Linux 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.

Читать далее...
C# паттерн проектирования Одиночка (Singleton)
C# паттерн проектирования Одиночка (Singleton)

Обзор и пример использования шаблона (паттерна) проектирования Одиночка (Singleton) на языке программирования C# (си шарп), достоинства и недостатки паттерна проектирования Синглтон

Читать далее...
Yii2 установка и настройка advanced приложения
Yii2 установка и настройка advanced приложения

Описание процесса установки и настройки advanced приложения php фреймворка Yii2 с использование composer, рассмотрены возможные "подводные камни", возникающие при установке и настройке Yii2 advanced

Читать далее...
Подключение инфракрасного (ИК) пульта к Arduino
Подключение инфракрасного (ИК) пульта к Arduino

Описание процесса подключения инфракрасного дистанционного пульта управления к arduino, пример arduino скетча для работы с инфракрасным дистанционным пультом

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