在索引页面上登录不起作用,但在项目内部任何页面登录都可以完美地工作**Facebook登录后手动登录不起作用



我已经为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
  }

最新更新