- リクエストオブジェクトを使用する方法: Expressのリクエストオブジェクトには、現在のリクエストに関する情報が含まれています。その中には前のURLも含まれています。
app.get('/current', (req, res) => {
const previousUrl = req.headers.referer;
res.send(`前のURL: ${previousUrl}`);
});
上記の例では、req.headers.referer
を使用して前のURLを取得しています。これはリクエストヘッダーの"referer"フィールドに保存されています。ただし、この値は常に提供されるわけではないため、存在しない場合もあります。そのため、適切なエラーハンドリングが必要です。
- セッションを使用する方法: Expressのセッションミドルウェアを使用すると、セッションに前のURLを保存しておくことができます。次のように設定することができます。
const session = require('express-session');
const app = express();
app.use(session({
secret: 'secret-key',
resave: false,
saveUninitialized: true,
}));
app.get('/current', (req, res) => {
const previousUrl = req.session.previousUrl;
res.send(`前のURL: ${previousUrl}`);
});
app.get('/next', (req, res) => {
req.session.previousUrl = req.headers.referer;
res.send('次のページ');
});
上記の例では、express-session
パッケージを使用してセッションを設定しています。"previousUrl"というキーで前のURLをセッションに保存しています。そのため、req.session.previousUrl
を使用して前のURLを取得することができます。
これらの方法を使用することで、Expressアプリケーションで前のURLを取得することができます。適切な方法を選択し、必要に応じてエラーハンドリングを行ってください。