首页 > 解决方案 > Laravel - 我想在重定向到视图之前先显示我的 sweetalert

问题描述

我尝试让我的 sweetalert 在页面重定向到预期视图之前首先显示,但这不起作用,当我成功登录时,页面首先重定向到仪表板页面,然后再向我显示 sweetalert 成功,我想做相反,我不知道为什么我的错误 sweetalert 不像我的成功 sweetalert 那样工作,当我尝试输入错误的密码或发送电子邮件时,错误 sweetalert 不会出现,并且只会将页面重新重定向到我的登录名,而不会首先显示错误 sweetalert。无论如何,我使用 sweetalert 版本 1 和离线版本,我尝试在互联网和 youtube 中搜索,但对我没有任何作用:(

AuthController.php

<?php

namespace App\Http\Controllers;
use Auth;
use Illuminate\Http\Request;

class AuthController extends Controller
{

    public function login()
    {
        return view('auths.login');
    }

    public function postlogin(Request $request)
    {
        if(Auth::attempt($request->only('username','password'))){
            return redirect('/dashboard')->with('sukses','Login Success...');
        }
        return redirect('/login')->with('eror','Login Failed...');

    } 

    public function logout()
    {
        Auth::logout();
        return redirect('/login');
    }
}

我的主要布局:master.blade.php

<script src="/dist/sweetalert.min.js"></script>

<script>
  @if(Session::has('sukses'))
      swal("Sukses", "{{Session::get('sukses')}}", "success"); // ini untuk sweeralert jika berhasil
  @endif
</script>

<script>
  @if(Session::has('eror'))
      swal("Error", "{{Session::get('eror')}}", "error"); // ini untuk sweeralert jika berhasil
  @endif
</script>

我的登录视图 login.blade.php

  <form action="/postlogin" method="post">
      {{csrf_field()}}
      <div class="form-group has-feedback">
        <input type="username" name="username" class="form-control" placeholder="Username">
        <span class="glyphicon glyphicon-user form-control-feedback"></span>
      </div>
      <div class="form-group has-feedback">
        <input type="password" name="password" class="form-control" placeholder="Password">
        <span class="glyphicon glyphicon-lock form-control-feedback"></span>
      </div>
      <div class="row">
        <div class="col-xs-4"  >
          <button type="submit" name="button" class="btn btn-primary btn-block center-block btn-flat">Sign In</button>
        </div>
      </div>
    </form>

提前谢谢你^^

标签: jquerylaravelauthenticationsweetalert

解决方案


你可以用ajax来做。首先,如果响应为真显示 sweetalert 并在重定向仪表板之后发布登录请求


推荐阅读