Backbone网址的根路径(在suburi中部署的Backbone.js)

时间:2013-04-16 19:44:10

标签: url backbone.js deployment

我将Rails和Backbone.js应用程序部署到suburi。使用suburi预先添加所有请求的最佳方法是什么?

示例:将应用程序部署到www.example.com/app。我有一个资源users,我希望骨干可以调用www.example.com/app/users而不是默认的www.example.com/users

我在服务器端设置了ROOT_URI变量,我将在骨干应用程序中使用它。简单的方法是将它添加到模型和集合中的所有URL中,但它很繁琐且容易出错。我该怎么办?覆盖Backbone.sync

1 个答案:

答案 0 :(得分:2)

您可以在Fetch电话上传递网址

示例

model.fetch({
            url: yourServiceURL,
            success: function (response, xhr)
            {
                //console.log("Successfully Fetched...");

            },
            error: function()
            {
                //console.log("Error Occurred...");

            }
        });

通过这种方式,您不必在模型和集合中定义网址

修改 我从你的评论中理解的是什么。你可以做这样的事情

yourModel = Backbone.Model.extend({
        url:function() {
          return yourGlobalVarForRootURI+"/staticLogicalPathForEachModel";
        },
        parse: function (response) {

            return response;
        }

 });

通过这种方式,您可以在所有模型/集合中提供yourGlobalVarForRootURI变量,并且可以更改此全局变量,以便在所有模型/集合中更改它。我希望它能解决你的问题