gpt4 book ai didi

javascript - backbone.js 路由不工作

转载 作者:行者123 更新时间:2023-11-30 18:13:48 24 4
gpt4 key购买 nike

我已经定义了

var AppRouter = Backbone.Router.extend({
routes: {
"photos/": "showPhotos",
"pic/:object_id": "getPic"
//"*actions": "defaultRoute"
},

showPhotos: function() {
console.log("routing: showPhotosPage");
App.showPhotosPage();
},

我还确保启动并启动了路由器...

  // Initiate the router
var app_router = new AppRouter();

// Start Backbone history
Backbone.history.start();

当我将浏览器指向 localhost/~myusername 时,获取要加载的页面和脚本(通过查看 firebug)。但是,如果我将浏览器指向 localhost/~myusername/photos/photos/,则会出现以下浏览器错误。

未找到在此服务器上找不到请求的 URL/~jayc707/moments/。

我正在使用 Apache 运行 Mountain Lion。

谢谢!

最佳答案

就像问题评论中提到的@Layoric,默认情况下 Backbone.Router 理解 # URL,所以 url 看起来像 /~jayc707/#/moments/

但是,可以使用标准 url,例如 /~jayc707/moments/ 和 Backbone 的 pushState 支持,如 Backbone.Histrory documentation 中所述。 .

使用 pushState 有其优点和缺点。主要缺点是,旧版浏览器不支持它,并且旧版浏览器将降级为基于哈希的 URL。另一个是,您必须配置您的网络服务器 (Apache) 以返回与它相关的任何 URL 的根页面。有关详细信息,请参阅上面的文档。

关于javascript - backbone.js 路由不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13872866/

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