laravel 5.4 login using ajax. Authentication succeeded but redirectTo property not working and keep redirect to '/home' -


i'm trying create custom login using ajax in laravel, form validation error show faster in opinion. suuceeded shows form validation errors, shows message when credentials false, , reload login page when credentials true. problem when login page reloaded, still redirect page '/home' page, set redirectto property '/'.

this login controller

<?php  namespace app\http\controllers\auth;  use app\http\controllers\controller; use illuminate\foundation\auth\authenticatesusers;  use illuminate\http\request; use validator;  class logincontroller extends controller { /* |-------------------------------------------------------------------------- | login controller |-------------------------------------------------------------------------- | | controller handles authenticating users application , | redirecting them home screen. controller uses trait | conveniently provide functionality applications. | */  use authenticatesusers;  /**  * redirect users after login.  *  * @var string  */ protected $redirectto = '/';  /**  * create new controller instance.  *  * @return void  */ public function __construct() {     $this->middleware('guest')->except('logout'); } public function showloginform(){   return view('auth.loginjax'); } public function username() {     return 'username'; } public function login(request $request){   if ($this->hastoomanyloginattempts($request)) {     $this->firelockoutevent($request);      return $this->sendlockoutresponse($request);   }   $validator = validator::make($request->all(),[     $this->username() => 'required|string',     'password' => 'required|string',   ]);   $data = array();   if ($validator->passes()) {     $data['valid']=true;     if ($this->attemptlogin($request)) {       // return $this->sendloginresponse($request);       $data['masuk'] = true;     }else {       $this->incrementloginattempts($request);       // return $this->sendfailedloginresponse($request);       $data['masuk'] = false;     }   }else {     $data['namafield']=array();     $data['texterror']=array();     $data['valid']=false;     if ($validator->errors()->has($this->username())) {       $data['namafield'][]=$this->username();       $data['texterror'][]=$validator->errors()->first($this->username());     }     if ($validator->errors()->has('password')) {       $data['namafield'][]='password';       $data['texterror'][]=$validator->errors()->first('password');     }   }   return response()->json($data);  } } 

my login controller working fine(redirect '/' page) when login without ajax , without overriding login method.

this ajax method

function masuk(){   loadingsuccess("#alert_login");   $('#btnmasuk').val('konfirmasi..');   $("#btnmasuk").attr("disabled",true);   $.ajax({     url:"{{ route('masuk') }}",     type: "post",     data: $('#formlogin').serialize(),     datatype:"json",     success:function(data){       $("#alert_login").html('');       $("button").attr("disabled",false);       if (data.valid) {         if (data.masuk===true) {           location.reload()         }else {           var div = "#alert_login";           var message = "kombinasi nama pengguna dan kata sandi tidak ditemukan";           $('#username').focus();           alertdanger(div,message);         }       }else{         (var = data.namafield.length; >= 0; i--)         {           $('[name="'+data.namafield[i]+'"]').focus();           $('[name="'+data.namafield[i]+'"]').parent().addclass('has-error'); //select parent twice select div form-group class , add has-error class           $('[name="'+data.namafield[i]+'"]').next().text(data.texterror[i]);         }       }       $('#btnmasuk').val('masuk');       $("#btnmasuk").attr("disabled",false);     },     error: function (data)     {       alert(data);     }   }) } 

as can see, use location.reload() reload page.

please tell me if know , sorry bad english.

this won't work because the logincontroller returns html of page should redirected after login, if see result in success closure of ajax see html. have when ajax request successful i.e httpstatuscode == 200 have manually redirect user page want of js.

window.href = '/home';


Comments

Popular posts from this blog

resizing Telegram inline keyboard -

command line - How can a Python program background itself? -

php - "cURL error 28: Resolving timed out" on Wordpress on Azure App Service on Linux -