Laravel:使用javascript验证

时间:2016-07-17 15:10:14

标签: javascript php laravel redirect laravel-5

我有以下网址代码,如果网址有invited_by,则会在提供的页面上显示注册弹出窗口,如此http://streamkar.dev/store/?invited_by=1链接,它基本上是为了显示注册弹出窗口。

$(document).ready(function(){
    var a = window.location.href.toString();
    var  b = a.split("invited_by=");
    if(typeof b[1] !=="undefined"){
        console.log(b[1]);
        $("#login-modal").modal('show');
        $(".signin").click();
    }
});

我想要的是我们如何检查用户身份验证,如果用户已经登录,那么:

显示:

http://streamkar.dev/store

而不是:

http://streamkar.dev/store/?invited_by=1

基本上可以将邀请链接发给某人,如果他/她已经登录,则只显示页面,如果没有,则显示注册弹出窗口,然后重定向到网址中的页面,基本上是邀请。

我怎样才能实现这一点,我没有想出一些合适的逻辑。

2 个答案:

答案 0 :(得分:2)

您可以尝试下面的内容,

controller中,检查用户记录的AND查询是否有invited_by参数,如果重定向到store ELSE,则呈现view

public function getIndex(Request $request)
{
    if (Auth::check() && $request->has('invited_by')) {
        return redirect('/store');
    } else {
        return view('path_to_view')
               ->with('userLogged', Auth::check());
    }
}

.blade文件中,如果用户未登录,则呈现modal html。

@if (! $userLogged)
    <div id="login-modal"></div> //model html
@endif
javascript中的

,如果dom的div为modal

,则显示login-modal
if(typeof b[1] !=="undefined" && $("#login-modal").length > 0){
    $("#login-modal").modal('show');
    $(".signin").click();
}

答案 1 :(得分:0)

您需要做的是从Controller功能商店,检查用户是否已经过身份验证

if (Auth::check()) {
    return redirect()->to('store')
}