gpt4 book ai didi

javascript - 可以将 backbone.js 与动态/通配符子域路由一起使用吗?

转载 作者:行者123 更新时间:2023-11-29 22:24:59 25 4
gpt4 key购买 nike

我正在构建一个系统,它将从 url (variable1.domain.com/variable2) 中提取 2 个变量。

我找不到任何说明如何对主干中的子域执行任何操作的文档。 Default_url 只是作为 domain.com/api 传递。我确实找到了一个名为 CORS (www.enable-cors.org) 的东西,它支持跨域调用,但它对动态域只字不提。

对于 backbone,这样的事情甚至可能吗?如果没有,有谁知道 ember.js 或其他类似主干的系统是否具有此“功能”?

最佳答案

这当然是可能的,但不在 Backbone 的默认行为范围内。假设您所有的子域都使用相同的路由器代码,您可以破解一个可能看起来像这样的解决方案:

var Router = Backbone.Router.extend({
routes: {
'*variables': 'buildRoute'
},

subdomain: function() {
// This is probably not the prettiest/best way to get the subdomain
return window.location.hostname.split('.')[0];
},

buildRoute: function(variables) {
// `variables` are all your hash variables
// e.g., in the URL http://variable1.domain.com/#variable3=apples&variable4=oranges
// `variables` here would be the string 'variable3=apples&variable4=oranges'
// so you would have to parse that string into a JSON representation, but that's trivial
// Once you have the JSON, you can do something like:
myView.render(this.subdomain(), variablesJSON);
// Your view's `render` function then has the subdomain and all the variables from the URL,
// so it can use them appropriately.
}
});

这种方法的一个重要警告:它适用于用户自己导航到 URL,但当您的应用程序需要对 Router 执行 navigate 调用时,它很快就会变得不稳定>。 Backbone 将只导航到 URL 的散列部分,因此它不会包括子域。在执行任何其他操作之前,您可能必须启动一个设置 window.location 的自定义导航功能。

显然这可能不是 Backbone 非常适合的东西。我不确定 Ember 或其他任何东西是否具有此功能,但我对此表示怀疑。子域应该是您网站的不同区域,因此您可能没有正确使用它们。

关于javascript - 可以将 backbone.js 与动态/通配符子域路由一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10111276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com