我最近开始使用Express.js和Node.js以及渲染引擎.ejs
我想加载.ejs文件,它基本上是.html的一种形式到我页面上的div。到目前为止,我对如何使用jQuery的'load()函数非常熟悉,但使用此方法后的URI保持不变。如下例所示:
$('.about').bind('click', function(event){
event.preventDefault();
$('.container').load('about.ejs');
})
我单击“关于”按钮,然后将其加载到div中。但URI仍然是相同的www.page.com /
我在Node.JS和Express.JS中使用它的方式如下:
app.get('/about', function (req, res){
res.render('about',{
title: appName,
menu: "about"
});
});
有没有办法可以使用Express js重新创建这种行为,以便将URI更改为mypage.com/about?
答案 0 :(得分:0)
试试这个。
$('.about').bind('click', function(event){
event.preventDefault();
$('.container').load('about.ejs');
history.pushState({}, 'About', '/about');
});
但要小心。 Not all browsers support push state.有一些库,如pjax,可以为您处理此问题。