位于公共目录中的我的router.js以下列方式工作:
首先,监听单击“ a”标签的事件 然后,阻止跟随链接并将href值传递给此函数
function loadPage(targetUrl) {
if (targetUrl == "/") {
loadHome(); //Loads Home Page
} else {
if (isSpanish()) {
var direction = "/pages/es" + targetUrl + ".html";
} else {
var direction = "/pages/en" + targetUrl + ".html";
}
var subDirections = direction.split("/");
$('#content').load(direction, function (response, status, xhr) { //Loads content
if (status == "error") {
$("#error-popup").slideDown();
$("#error-popup-wrapper").fadeIn();
document.title = "404" + titleAddon;
} else {
document.title = document.getElementById("title").innerHTML + titleAddon;
window.history.pushState({ url: "" + targetUrl + "" }, null, targetUrl);
}
});
window.scrollTo(0, 0);
}
};
但是我相信与控制我唯一路线的index.js冲突:
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, '/views/index.html'));
});
每次我单击一个链接时,我都认为客户端正在向服务器请求该路由,而我的router.js正确加载了该路由,但是我不想重新加载该页面。
我该如何解决?
P.D。有时,通常在单击菜单链接时,页面不会重新加载。不知道为什么。
我要将代码上传到的网站是:https://testing.fsupv2017.webs.upv.es