Express js重定向 - 不更改URL并且不加载静态文件

时间:2014-09-01 20:01:43

标签: javascript jquery node.js jquery-mobile express

我在节点js上使用express js作为我的应用程序的REST接口。
我也在我的客户端页面上使用jQuery Mobile。

如果用户尝试输入他们不允许或无法访问的位置,我会使用重定向来更改页面。
由于某种原因,网址没有变化,因此它不会加载css和js文件。

我在另一个地方读到了由于jQuery Mobile而发生的事情,他们建议使用rel=external

我不知道如何将它与快速界面一起使用。

对我的问题提出意见的任何建议?

1 个答案:

答案 0 :(得分:8)

我猜你正在发送POST请求并尝试重定向服务器端,如下所示:

app.post('/location', function(req, res) {
    if (!allowed) {
        res.redirect('/otherpage');
    } else {
        // do stuff
    }
});

您无法在POST请求中重定向到其他页面。但您可以使用res.send({ redirect: '/otherpage' })发送重定向位置,然后让前端完成工作,例如:

if (res.redirect) {
    document.location.href = res.redirect;
}