业务场景是这样的:有个未登录用户点击了一个需要登陆后才能进的链接,然后直接去到登陆页。登陆后就直接跳转到这个链接。
之前的js逻辑是用referer来获取触发地址,不过这样只能拿到所在页面的URL不是我要转进的地方。(有没有什么方法在不改变给后端提交的数据情况下得到我要跳过去的URL)
本人是后端方向的,js比较小白和初级。问题简单的话勿怪哈...
分割线
下面大神的回复都很好,在此谢谢啦。可能我描述的不够清楚吧。
1.举个例子,比如我在一个商品的详情页面,点击进入个人中心的我的订单(未登录状态)。
2.进入登录页,ajax各种验证(其中并没有传任何有关redirect信息),成功后。
3.旧逻辑是通过document.referrer获取转进的位置,重定向(但是这样有个问题就是获取的是详情页的URL,不是用户要去的我的订单处)。问题就在这
在不改变原有传参的情况下,是否可以单纯以前端来获取到目标地址?因为要对验证添加参数的话(不可能只有一个地方会做这样的操作的),会涉及到前端后端都要修改的情况,工作量相对会大一些。
假如在/a点击了需要登录的/u,那么后端发现未登录的时候,返回一个redirect到/login,URL附上参数
redirect=/u
,此时浏览器会再发送一个/login的请求,在这个页面登录成功的时候拿这个redirect参数重定向就行了。