gpt4 book ai didi

javascript - Express - 给出 res.redirect() 的基本路径

转载 作者:行者123 更新时间:2023-12-03 00:18:35 26 4
gpt4 key购买 nike

我不确定这个问题是否可以轻松解决,但情况如下。假设我们有一个 express app()带有单独的 router() .

const express = require('express')
const app = express()

const router = express.Router()

router.get('/', (req, res) => {
res.redirect('/bar')
})

app.use('/foo', router)

app.listen('8000')

假设我们向 http://localhost:8000/foo/ 发送请求。我需要 res.redirect('/bar')重定向到http://localhost:8000/foo/bar而不是重定向到http://localhost:8000/bar 。这里唯一的关键部分是我们不能使用相对于当前路由的重定向,因此 res.redirect('bar')不适合我们。

有什么方法可以覆盖 res.redirect()前置 /foo 的功能每个重定向?另外,我无法修改每个 res.redirect()req.originalUrl或类似的东西。

非常感谢

最佳答案

弄清楚如何使用中间件来做到这一点 -

app.use((req, res, next) => {
const redirector = res.redirect
res.redirect = function (url) {
url = '/foo' + url
redirector.call(this, url)
}
next()
})

关于javascript - Express - 给出 res.redirect() 的基本路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54426224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com