簡體   English   中英

快速表達中的res.redirect返回html源代碼,而不僅僅是URL

[英]res.redirect in express returns the html source code & not just the URL

我試圖在用戶單擊按鈕時將用戶重定向到登錄頁面,但是我沒有html重定向,而是獲取html源代碼,並且什么也沒有發生。

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

function redirect(req, res) {
    res.redirect("https://dev-krbec.authentication.eu10.hana.ondemand.com/login");
};

這是通過簡單的get查詢從客戶端調用它的方式:

$.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源代碼: 在此處輸入圖片說明

我想念什么嗎?

我不確定您要做什么以及如何設置應用程序。 您是否只想返回將該URL設置為location.href? 不必這樣做,您可以像這樣簡單地在客戶端上進行重定向:

window.location.href = 'https://dev-krbec.authentication.eu10.hana.ondemand.com/login'

如果您真的只想從服務器返回URL,則可以更新快速路由邏輯以將URL作為響應對象的屬性返回:

function redirect(req, res) {
    res.send({url: "https://dev-krbec.authentication.eu10.hana.ondemand.com/login"});
};

不過我的猜測是,您真正想要的是使用Express本身從服務器端進行的真正重定向。 如果是這樣,請發布您為請求定義的路由處理程序及其可能調用的函數。 那可能會使我們更好地了解出什么問題了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM