Я намагаюся видалити подання, коли користувач клацаєна чомусь, а потім також видалити модель, пов’язану з цим видом. Я успішно видаляю модель, однак метод this.model.destroy не надсилає жодних запитів сервера?
ось як виглядає мій код:
PostsApp.Models.Post = Backbone.Model.extend({
url : "/tweet",
defaults:{
name: "",
adress: "",
pictureUrl: "",
postListing: "",
comments: ""
}
});
PostsApp.Collections.Posts = Backbone.Collection.extend({
model: PostsApp.Models.Post,
url: "/tweet"
});
PostsApp.Views.Post = Backbone.View.extend({
template: _.template($("#post-template").html()),
events: {
"click img": "removeit"
},
removeit: function(){
this.remove();
this.model.destroy();
},
render: function(){
this.$el.html(this.template(this.model.toJSON()));
}
});
Я використовую express на стороні сервера, і як я повинен обробляти запит на видалення HTTP на стороні сервера? Але, схоже, жодного запиту не надсилається?
редагувати:
Тож я трохи просунувся і змінив свою модель на:
PostsApp.Models.Post = Backbone.Model.extend({
urlRoot : "/tweet",
idAttribute: "_id",
defaults:{
name: "",
adress: "",
pictureUrl: "",
postListing: "",
comments: ""
},
kill: function(){
this.destroy({success: function(model, response) {
console.log("sucess");
}});
}
});
і мій маршрутизатор на стороні сервера встановлений таким чином, щоб обробляти запит:
app.delete("/tweet/:id"), function(req,res){
};
Тепер надсилається запит на видалення, наприклад: DELETE / tweet / 51b2548ba8568587ea000002 але я отримую таку помилку 404: ВИДАЛИТИ localhost: 3000 / tweet / 51b2548ba8568587ea000002 404 (не знайдено)
Відповіді:
0 для відповіді № 1app.delete("/tweet/:id"), function(req,res){
};
мої дужки були розміщені тут неправильно .. вау, так мало б бути:
app.delete("/tweet/:id", function(req,res){
});
дивно, що експрес не видає жодних помилок ..