我正在尝试使用Backbone.js来处理浏览器历史记录。我没有设置视图/模型,因为我不希望它处理这个,可能是因为我没有让它正常工作。
此时我的页面正在更改网址。像:
domain.com/services
domain.com/products
domain.com/contact
domain.com/gallery
domain.com/gallery/photo1
问题是:如果我尝试在domain.com/gallery/photo1重新加载页面。我收到错误未捕获的SyntaxError:意外的令牌<
只有一个级别永久链接的所有其他页面在重新加载时正常工作。我在Backbone上遗漏了什么吗?
我只是使用Backbone.Router和Backbone.history。
是否有关于如何使用backbone.js设置网站的简单教程?只是历史事物?
这是我的剧本:
var Router;
var myRouter;
$(document).ready(function(){
Router = Backbone.Router.extend({
initialize : function(options) {
//
},
routes: {
'' : 'home',
'*actions' : 'pages'
},
home : function() {
this.render('/');
},
pages : function(actions) {
this.render(actions);
},
render : function(path) {
var fullLine = '';
path = (path === '/' || path === '')? '/' : path;
console.log('path: ' + path);
}
});
myRouter = new Router();
Backbone.emulateHTTP = true;
Backbone.emulateJSON = true;
Backbone.history.start({pushState: true, root: "/backbone_teste/"});
// MENU CLICK
$('.menu').children('li').each(function(){
$(this).click(function(){
myRouter.navigate($(this).attr('data-id'), true, true);
});
});
});
感谢您的帮助!
答案 0 :(得分:2)
解决问题:
我刚刚在我的index.php文件中添加了以下代码:
<base href="http://localhost/backbone_teste/" />
它有效。
无论如何,我想知道为什么会发生这种情况,以及为什么Backbone.js文档没有提到这一点。
我在此链接找到了解决方案:HTML5 History / pushState URLs, .htaccess and You
由于