我将Rails和Backbone.js应用程序部署到suburi。使用suburi预先添加所有请求的最佳方法是什么?
示例:将应用程序部署到www.example.com/app
。我有一个资源users
,我希望骨干可以调用www.example.com/app/users
而不是默认的www.example.com/users
。
我在服务器端设置了ROOT_URI
变量,我将在骨干应用程序中使用它。简单的方法是将它添加到模型和集合中的所有URL中,但它很繁琐且容易出错。我该怎么办?覆盖Backbone.sync
?
答案 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
变量,并且可以更改此全局变量,以便在所有模型/集合中更改它。我希望它能解决你的问题