我已经为ajax使用了login。我不知道问题是什么。在索引主页中登录不起作用,但在项目内部它可以完美运行。
脸书登录后手动登录不起作用。
我已经尝试在 if 条件下Auth::attempt(['email' => $request->email,'password' => $request->password],true)
并通过 dd(Auth::user());
检查身份验证用户数据,但没有获得任何身份验证用户数据,当我尝试使用 print_r(Auth::user());
时,我得到了身份验证用户数据。
所以我不知道问题到底是什么。所以请帮助我。有人知道问题是什么吗?
这是我们的登录代码
{{Form::open(array())}}
{{ Form::text('email','',array('class'=>'form-control __input-form mar-t-20','placeholder' => trans('common.email'),'id'=>'login_email'))}}
{{ Form::password('password',array('class'=>'form-control __input-form mar-t-20','placeholder' => trans('common.password'),'id'=>'login_password'))}}
<p class="text-left mar-t-10">
<a href="{{URL::to('/forgot-password')}}" class="text-grey">{{trans('common.forgot_password')}}</a>
</p>
{{ Form::button(trans('common.login'),array('class'=>'form-control __input-form btn-main mar-t-20','id'=>'login-btn'))}}
{{Form::close()}}
this is our login data send script
//login user
$('#login-btn').click(function(){
var email = $('#login_email').val();
var password = $('#login_password').val();
var errorMessage = $('#loginErrorMessage');
var data = {
'email' : email,
'password' : password
};
$.ajax({
type: 'POST',
url: basePath + "/login",
data : data,
dataType: 'json',
success:function(data){
var errors = '';
if(data.status)
{
errors += "<p>"+ data.value +"</p>";
window.location.reload();
}
else
{
$.each(data.value,function(index,item){
errors += "<p style='color:red;'>" + item + "</p>";
});
}
errorMessage.html(errors);
}
});
});
this our controller code
if(Auth::attempt(['email' => $request->email,'password' => $request->password],true))
{
return response()->json(['value' => 'Logged In Sucessfully.!!','status' => True]);
}
在控制器中使用此代码。
if(Auth::attempt(['email' => $request->input('email'),'password' => $request->input('password')],true))
{
return response()->json(['value' => 'Logged In Sucessfully.!!','status' => True]);
}
你错过了$request->input();
检查它是否有效。
请解析 JSON 响应,然后检查状态并执行相应的操作。
JAVASCRIPT 代码更改:
var obj = JSON.parse(data);
if(obj.status)
{
// do what you want to do if true
}
else
{
// do what you want to do if false
}