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

时间:2012-12-25 04:22:56

标签: javascript backbone.js

目前,当我制作模型时,它会直接进入集合并保存到服务器,但服务器会添加在刷新页面之前看不到的其他信息模型。我正在尝试将新模型从服务器添加到集合中,而不是从创建模型的表单添加。

这是我的添加方法

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,这意味着它还没有到达服务器。如何返回服务器型号?

1 个答案:

答案 0 :(得分:2)

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);
    }
});