更改客户端URL而不请求路由到Node JS

时间:2019-07-10 17:04:14

标签: javascript node.js

位于公共目录中的我的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

0 个答案:

没有答案