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