backbone.js - 保存主干模型时出错 : Uncaught Error: A "url" property or function must be specified

标签 backbone.js

我是 Backbone 新手,试图找出为什么在应用程序中简单“保存”模型不起作用。我有一个正在尝试保存的登录窗口模型。模型初始化如下:

window.myapp.login = new window.myapp.Models.Login();
window.myapp.signinBox = new window.myapp.Views.Signin({model: window.myapp.login});
window.myapp.signinBox.render();

现在在signinBox中我监听各种事件,并调用this.model.get和this.model.set - 一切正常。 但是当我尝试打电话时

this.model.save();

我得到:未捕获错误:必须指定“url”属性或函数

模型类如下所示:

window.myapp.Models.Login = Backbone.Model.extend({
    defaults:{
        modelType:'login',
        urlRoot:'/rest/login',
        password: "",
        rememberMe: false,
        isAuthenticated: false
    }
})

知道我这里出了什么问题吗?

我注意到的一件事(正如我所说,我是新手,这可能是微不足道的)是我在 this.model 下看不到 urlRoot,而是在 this.model.attributes 下看到。应该是这样吗?

最佳答案

默认哈希(或函数)用于指定模型属性的默认属性。但是urlRootBackbone.Model 的一个单独属性,需要设置为根级别:

window.myapp.Models.Login = Backbone.Model.extend({
    urlRoot: '/rest/login',
    defaults:{
        modelType:'login',       
        password: "",
        rememberMe: false,
        isAuthenticated: false
    }
})

关于backbone.js - 保存主干模型时出错 : Uncaught Error: A "url" property or function must be specified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15860781/

相关文章:

javascript - Backbone.js 共享上下文模型

javascript - 当我将新 URL 推送到 Backbone.history 时,查询参数会保留吗?

javascript - 主干集合在获取后有空模型

javascript - 如何阻止 Backbone.js 发送 OPTIONS 请求?

javascript - 期望在instanceof检查中有一个函数,但得到了body - 尝试在Backbone中创建 View

php 处理来自 backbone.js 的放置请求

javascript - 在不使用 "this"关键字的情况下从 View 内部调用方法?

javascript - 主干模型和 URL 异常

backbone.js - backbone.localStorage,require.js, "Uncaught TypeError: undefined is not a function"

javascript - 使单页 Web 应用程序可被社交网络 (Facebook/Twitter/reddit) 抓取