骨干:在添加到集合之前从服务器获取新模型

Backbone: grab new model from server before adding to collection

本文关键字:新模型 获取 服务器 模型 添加 集合 骨干      更新时间:2023-09-26

目前,当我创建一个模型时,它直接进入集合并保存到服务器,但是服务器添加了额外的信息模型,直到页面刷新时才会看到。我试图从服务器添加新模型到集合,而不是从使模型的表单。

这是我的添加方法
add:function(tenant){
    var values = _.extend(this.$el.find(':input').serializeJSON(), {active: true , modelType:"tenant"}) 
    console.log(values)
    var newView = tenants.create(values, {// FIX REPONCE 
        success:function(model,response){
            console.log(response);
            console.log(model.isNew());
        },
        error:function(model,response){
            console.log(response.responseText);
        }
    },{wait: true},{silent: true})
}

当它到达model.IsNew()时,它返回true,这意味着它还没有到达服务器。我怎样才能退回服务器模型?

collection.create的第二个参数是options,但是您分别传递了选项{wait: true}{silent: true}作为第三和第四个参数。这就是为什么它们不起作用。试试这个:

var newView = tenants.create(values, {
    wait: true,
    silent: true,
    success:function(model,response){
        console.log(response);
        console.log(model.isNew());
    },
    error:function(model,response){
        console.log(response.responseText);
    }
});