Я просматривал несколько сообщений о том, как сохранить коллекцию Backbone с использованием сервера без RESTful, и я все еще немного запутался. Я создал коллекцию, где я переопределил метод toJSON
, чтобы настроить мои данные для публикации в моем API ("/api/entity/735/request/personDelete"
в настоящее время заменен на jsfiddles/echo/json). Поэтому я создал метод save
, который использует Backbone.sync
, на success
Я выхожу из любого ответа, и объект пуст, не уверен, где вещи теряются или что я делаю неправильно; может ли кто-нибудь дать мне некоторое руководство? Просто хотел бы, чтобы этот пример работал, поэтому я могу использовать что-то вроде этого в будущем.
JS
var PersonCollection = Backbone.Collection.extend({
model: PersonModel,
url: function() {
// Dummy JSFiddle endpoint
// Example non-RESTful url "/api/entity/735/request/personDelete"
return '/echo/json/';
},
/**
* Override toJSON to loop through collection models making
* custom objects containing specific attributes to be posted.
*/
toJSON: function() {
console.log(this.models);
var plucked = this.models.map(function(model) {
return _.pick( model.toJSON(), ["id","name", "teams"] )
});
console.log(plucked);
return plucked;
},
save: function(options) {
Backbone.sync('create', this, {
success: function(data, textStatus, jqXHR) {
console.log('Saved!', data);
}
});
}
});
JSFiddle: http://jsfiddle.net/kyllle/f1h4cz7f/3/