这里是我的路由器:为什么骨干不调用简单的路由[及其相应的功能]?
var MyRouter = Backbone.Router.extend({
initialize: function(){
Backbone.history.start({ pushState:true });
},
routes: {
'hello' : 'sayHello'
},
sayHello: function(){
alert('Saying hello');
}
});
注意,我用{ pushState:true }
提供的网址没有哈希代码。
我还使用一个Node.js的服务器来处理路线:
var express = require('express');
var app = express();
app.use(express.static(__dirname));
app.listen(3010);
当我浏览到http://localhost:3010#hello
我的浏览器它更改为http://localhost:3010/hello
的路线,但它工作正常。但是,当我亲自导航到http://localhost:3010/hello
时,出现Cannot GET /hello
错误。
这可能有一个简单的答案,但任何人都可以阐明我可能做错了什么?
在此先感谢。
当你调用URL以''#它会尝试加载骨干定义的路由。但直接调用它像'http:// localhost:3010/hello'正在调用你没有定义的快速路由(即使pushstate为true,你需要用#调用你的骨干路由) – Sami 2014-09-01 07:27:40