簡體   English   中英

NodeJS http 重定向請求

[英]NodeJS http redirect request

我正在創建一個簡單的 NodeJs 服務器。 一旦這個服務器接到電話,它就會在后台做一些事情,用戶應該被重定向到另一個頁面。 我正在使用這個:

const http = require("http");

const requestListener = function (req, res) {
    // do something

    res.end(); // This ends the request
    // Instead of ending the request (res), I want to redirect it to a specific url
}


server = http.createServer(requestListener);
server.listen(port, () => {
});

我如何為 http 模塊做到這一點?

要使用普通 http 模塊發送重定向響應,您只需要制造正確類型的重定向響應並將其作為響應發送。 重定向響應具有 3xx 狀態代碼並設置location標頭,通常不包含正文。

res.setHeader('location', 'http://wwww.google.com');
res.statusCode = 302;
res.end();

請記住,重定向響應只是對客戶端的指令/建議,他們應該去其他地方獲取他們請求的內容。 它是否真的遵循重定向取決於客戶端。 在許多情況下,瀏覽器會自動跟隨重定向。 但是,從基於瀏覽器的 Javascript 使用XMLHttpRequest的 Ajax 調用不會自動跟隨重定向。 相反,接收響應的腳本必須檢查 3xx 的狀態代碼,讀取location標頭並向新的 http url 發出新請求。 其他 http 客戶端庫可能具有您可以啟用以自動跟蹤重定向的功能。

暫無
暫無

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

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