【发布时间】:2012-06-06 06:27:49
【问题描述】:
我想让每个页面请求都重定向到我的index.html,并且在我的应用程序中单击的任何链接(不是#urls - /real/urls) 都可以通过router.js 运行,所以有基本上没有页面刷新 - 纯粹的ajax。有没有一种简单的方法可以使用 Backbone 路由和 htaccess 来做到这一点?
如果我删除{pushState: true} 并将我的链接格式化为#login,我现在可以正常工作。但是,当我启用pushState 并单击#login 时,什么也没有发生。相反,只有在我刷新页面后,Backbone 才会解释 #login 并按照路由呈现 loginView。
这是我的路由器:
// Filename: router.js
define( [ 'views/beta/requestInvite', 'views/beta/login' ],
function(requestInviteView, loginView) {
var AppRouter = Backbone.Router.extend( {
routes : {
// Pages
'login' : 'login',
// Default
'*actions' : 'defaultAction'
},
// Pages
login : function() {
loginView.render();
},
defaultAction : function(actions) {
requestInviteView.render();
}
});
var initialize = function() {
var app_router = new AppRouter;
Backbone.history.start({pushState: true});
};
return {
initialize : initialize
};
});
我希望在requestInviteView 中发生的事情,当点击/login 的链接时,url 变为/login 并呈现loginView。
感谢您的帮助!
【问题讨论】:
标签: .htaccess backbone.js requirejs router pushstate