0

一旦用户单击某些内容,我就会尝试删除视图,然后还删除与该视图关联的模型。我已成功删除模型但是 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 错误:DELETE localhost:3000/tweet/51b2548ba8568587ea000002 404(未找到)

4

1 回答 1

0
app.delete('/tweet/:id'), function(req,res){
};

我的括号放错了..哇,所以应该是:

app.delete('/tweet/:id', function(req,res){
});

奇怪的是快递没有抛出任何错误..

于 2013-06-10T16:25:46.093 回答