【问题标题】:How to check ajax status in laravel如何在 laravel 中检查 ajax 状态
【发布时间】:2016-01-26 18:29:47
【问题描述】:

我正在 laravel 中使用注册和登录表单制作应用程序。我有 ajax 登录表单。当用户输入正确的邮件并通过时,它工作正常,但如果用户输入不正确的邮件或传递它,则在登录页面上重定向。谁能帮助我如何在不重定向的情况下在登录表单中显示错误?

public function login(){
  $data = Request::all();
  if (Auth::attempt(['email' => $data['email'], 'password' => $data['password']]))
   {
       return redirect('/');
   }
  else {
      return redirect('login');
  }
}

这是我的控制器代码

【问题讨论】:

  • 请分享一段代码

标签: php jquery ajax laravel-5.1


【解决方案1】:

在else部分而不是

return redirect('login');

使用这个

Session::flash('errorMessage', 'Authentication Failed');
return Redirect::back(); 

在视图(刀片)中添加这个

@if ($message = Session::get('errorMessage'))
  <div class="alert alert-danger alert-block">
  <button type="button" class="close" data-dismiss="alert">&times;</button>
  <h4>Authentication Error</h4>
     <span class="errorText">{{ $message }}</span>
  </div>
@endif

(不刷新)试试这个: 在其他部分添加

return Response::json([
    'message' => 'Authentication Failed'
 ]);

在 Ajax 成功函数中,您可以从返回的 JSON 中显示此消息。 将消息放在带有“errorText”类的范围中。

在视图中:

  <div class="alert alert-danger alert-block hidden">
  <button type="button" class="close" data-dismiss="alert">&times;</button>
  <h4>Authentication Error</h4>
     <span class="errorText"></span>
  </div>

记得使用 jquery remove() 删除“隐藏”类。

注意:如有必要,请记住包含命名空间 Illuminate\Http\Request 和 Illuminate\Http\Response。

希望这有帮助。

【讨论】:

  • 我想在不刷新页面的情况下这样做...这将刷新页面
猜你喜欢
  • 1970-01-01
  • 2017-02-06
  • 1970-01-01
  • 2016-04-26
  • 2011-03-10
  • 2020-05-03
  • 2019-08-17
  • 2013-08-28
  • 1970-01-01
相关资源
最近更新 更多