【问题标题】: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">×</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">×</button>
<h4>Authentication Error</h4>
<span class="errorText"></span>
</div>
记得使用 jquery remove() 删除“隐藏”类。
注意:如有必要,请记住包含命名空间 Illuminate\Http\Request 和 Illuminate\Http\Response。
希望这有帮助。