最近做了一個(gè)項(xiàng)目,需要用戶登錄后,返回登陸前的頁(yè)面。
一般的邏輯是,用戶訪問(wèn)某個(gè)頁(yè)面,判斷未登錄,跳轉(zhuǎn)到登陸界面,登陸成功后,返回訪問(wèn)前的頁(yè)面。
按照l(shuí)aravel的一般情況來(lái)做:
//頭部引入
use URL
//登陸成功后執(zhí)行
return redirect(URL::previous());
結(jié)果發(fā)現(xiàn)跳轉(zhuǎn)的是登陸頁(yè)面,感覺(jué)很奇怪,最后發(fā)現(xiàn)是,我的登陸提交是一個(gè)新的方法,導(dǎo)致要返回之前的頁(yè)面,需要返回2次才可以。
解決,在跳轉(zhuǎn)到登陸界面的時(shí)候,將上次的網(wǎng)址記錄,登陸成功后,跳轉(zhuǎn)到記錄的網(wǎng)址,同時(shí)刪除記錄的網(wǎng)址。
use URL;
$request->session()->put('redirectPath', URL::previous());
$url = $request->session()->get('redirectPath');
$request->session()->forget('redirectPath');
return redirect($url);
以上這篇laravel 實(shí)現(xiàn)登陸后返回登陸前的頁(yè)面方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- laravel實(shí)現(xiàn)Auth認(rèn)證,登錄、注冊(cè)后的頁(yè)面回跳方法