CNode

koa2 redirect 没有Referer

问答
Lliuff1988发布于9 年前最后回复9 年前4 回复9812 浏览0 收藏
ctx.redirect("http://登录模块/login");
登录模块取到的referer为空,导致登录成功后跳不回来

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

改成这样还是没有referer
查看回复

回复 (4)

L
lpbird#1·9 年前

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

Z
ZWkang#2·9 年前

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

H
halfcrazy#3·9 年前

看了下代码

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');
R
rwing#4·9 年前

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

参与回复
登录后即可参与回复。登录