首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >express中的res.redirect返回html源代码&不仅仅是URL

express中的res.redirect返回html源代码&不仅仅是URL
EN

Stack Overflow用户
提问于 2018-08-10 03:39:04
回答 1查看 534关注 0票数 0

当用户单击按钮时,我尝试将用户重定向到登录页面,但我得到的不是重定向,而是html源代码,并且没有任何反应。

下面是我在express中的重定向方法:

代码语言:javascript
复制
function redirect(req, res) {
    res.redirect("https://dev-krbec.authentication.eu10.hana.ondemand.com/login");
};

下面是如何通过一个简单的get查询从客户端调用它:

代码语言:javascript
复制
$.get({
                url: document.URL + "api/redirect",
                success: function (data) {
                    console.log(data);
                    // window.location.href=data;
                },
                error: function (err) {
                    console.log(err);
                }
            });

然而,重定向从来没有执行过,我只得到了一个包含我想要重定向到的页面的整个html源代码的数据变量。

该查询如下所示:

这是一个应该只包含URL的响应,但它包含的却是html源代码:

我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-10 08:59:44

我不完全确定您想要做什么,以及您的应用程序是如何设置的。是否只想返回要设置为location.href的url?而不是这样做,您可以简单地在客户机上执行重定向,如下所示:

代码语言:javascript
复制
window.location.href = 'https://dev-krbec.authentication.eu10.hana.ondemand.com/login'

如果您真的只想从服务器返回URL,那么可以更新快速路由逻辑,将url作为response对象的一个属性返回:

代码语言:javascript
复制
function redirect(req, res) {
    res.send({url: "https://dev-krbec.authentication.eu10.hana.ondemand.com/login"});
};

不过,我的猜测是,你真正想要的是一个真正的从服务器端到Express本身的重定向。如果是这样,请将您为请求定义的路由处理程序与它可能调用的函数进行比较。这可能会让我们更好地看到哪里可能出了问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51774648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档