koa2 redirect 没有Referer
发布于 7 年前 作者 liuff1988 8803 次浏览 来自 问答
ctx.redirect("http://登录模块/login");
登录模块取到的referer为空,导致登录成功后跳不回来

koa文档上描述看不太明白
//字符串 "back" 是一个特殊参数,其提供了 Referrer 支持。当没有Referrer时,使用 alt 或者 / 代替。
ctx.redirect('back', 'http://登录模块/login');

改成这样还是没有referer
4 回复

现在的项目 说实话 不建议前后端写在一起 强烈建议分离

可以自己加个referer头部字段 貌似执行redirect的只是一个简单的302 location跳转

看了下代码

https://github.com/koajs/koa/blob/master/lib/response.js#L240 https://github.com/koajs/koa/blob/master/lib/response.js#L436

大概需要这样

ctx.set('Referrer', 'balabala');
ctx.redirect('back', 'http://登录模块/login');

文档里说 back 的意思是,你传入 back,他自动帮你取出当前 referrer 并 redirect 到这个 refeerer 里……

回到顶部