Javascript 无法获取主干模型获取的结果

Javascript 无法获取主干模型获取的结果,javascript,backbone.js,Javascript,Backbone.js,我的模型URL根目录: urlRoot: function() { if (this.id != null ) { return 'notes/' + this.id; } else return 'notes'; } 功能: window.show_note = function (note_id) { var note = new Memo.Models.Note([], { id: note_id }); note.fetch({ suc

我的模型URL根目录:

    urlRoot: function() {
    if (this.id != null ) {
        return 'notes/' + this.id; 
    } else return 'notes';
}
功能:

window.show_note = function (note_id) {
var note = new Memo.Models.Note([], { id: note_id });
note.fetch({
    success: function (collection, note, response) {
        var noteObj = collection.get("0");
        var noteView = new Memo.Views.FullNote( {model: noteObj }, {flag: 0 } );    
        $('.content').html(noteView.render().el);
    }
});}
{id:note\u id}-我将此发布到服务器以按id获取注释 我想在note.fetch的回调函数-success之后对模型'note'执行'set'或'get'函数,但唯一的错误是:'uncaughttypeerror:note.set不是函数'

如果我这样做:“var noteObj=collection.get(“0”);”
我得到了我需要的,但我仍然不能使用get或set。

您应该将
urlRoot
设置为:

urlRoot: '/notes'
主干网将发现它需要向url添加
id
。()

假设
Memo.Models.Note
是一个模型而不是一个集合,上面的代码片段应该是这样的:

window.show_note = function(note_id) {
    var note = new Memo.Models.Note({ id: note_id });

    note.fetch({
        success: function (model, response, options) {
            var noteView = new Memo.Views.FullNote({
                model: model
            }, {flag: 0 });

            $('.content').html(noteView.render().el);
        }
    });
};
注意传递给
new Memo.Models.Note的参数。主干模型构造函数有两个参数:
属性
选项
(),而集合则采用
模型
选项
()。因此,您需要添加带有
id
属性的哈希作为第一个参数

还要注意
success
回调的函数签名。对于模型,
success
回调包含三个参数:
model
response
选项
()。您将对
model
参数感兴趣,因为这是获取的主干模型<代码>响应
是原始响应数据


我希望我的假设是正确的,这就是你想要的答案。

不要使用相同的名称
var note=…
success:function(收集、记录、响应){
!但你到底有什么问题?这个-未捕获的类型错误:note.set不是函数在你的示例中没有
note.set
,所以当它发生时?我只是删除它,因为它会产生问题。你可以添加这部分代码吗?