[英]How to res.send to a new URL in Node.js/Express?
給定對 URL X 的 GET 請求,您應該如何定義 res.send 以便它提供對完全獨立的 URL Y 的響應?
即
app.get('/', function (req, res) {
res.send to a new URL external of the app ('Success')
});
提前感謝並道歉對這個話題的無知!
您希望通過設置狀態代碼並提供位置標頭來重定向請求。 302表示臨時重定向,301表示永久重定向。
app.get('/', function (req, res) {
res.statusCode = 302;
res.setHeader("Location", "http://www.url.com/page");
res.end();
});
您只能響應請求的源,即客戶端。 沒有響應另一個“外部 url”(或另一個服務器)這樣的事情。
但是,您可以向另一台服務器發出請求,等待它的響應,然后響應我們的客戶端。
app.get('/', (req, res) => {
var requestOptions = {
hostname: 'serverB.com', // url or ip address
port: 8080, // default to 80 if not provided
path: '/take-request',
method: 'POST' // HTTP Method
};
var externalRequest = http.request(requestOptions, (externalResponse) => {
// ServerB done responding
externalResponse.on('end', () => {
// Response to client
res.end('data was send to serverB');
});
});
// Free to send anthing to serverB
externalRequest.write(req.data);
externalRequest.end();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.