Laravel Ajax登录,成功后重定向到上一个url
发布时间:2020-12-16 01:35:53 所属栏目:百科 来源:网络整理
导读:假设我有一个使用auth中间件的页面A.由于没有登录,它会被重定向到登录页面. 在登录页面上,我有自定义ajax登录系统.在成功登录时,我想使用相同的URL重定向到页面A,以便可以完成操作. 我的登录代码是这样的: public function postLogin(Request $request){ $a
假设我有一个使用auth中间件的页面A.由于没有登录,它会被重定向到登录页面.
在登录页面上,我有自定义ajax登录系统.在成功登录时,我想使用相同的URL重定向到页面A,以便可以完成操作. 我的登录代码是这样的: public function postLogin(Request $request) { $auth = false; $errors = []; $inputs = $request->all(); $validator = $this->validator($inputs); if ($validator->fails()) { return response()->json([ 'auth' => false,'intended' => URL::previous(),'errors' => $validator->errors() ]); } $user = User::where('email',$request->get('email'))->first(); if ($user && $user->is_active == 0) { $errors[] = "This account has been deactivated"; } else if ($user && $user->confirm_token != null) { $errors[] = "Please verify your email in order to login"; } else { $credentials = ['email' => $request->get('email'),'password' => $request->get('password'),'is_active' => 1]; if (Auth::attempt($credentials,$request->has('remember'))) { $auth = true; } else { $errors[] = "Email/Password combination not correct"; } } if ($request->ajax()) { return response()->json([ 'auth' => $auth,'errors' => $errors ]); } return redirect()->intended(URL::route('dashboard')); } 我试图通过url() – > previous()获取以前的url,但它返回登录页面url.请有人指导我.任何改进/帮助将不胜感激. 我正在使用Laravel 5.4
我在这里有一个非常类似的问题:
Ajax Auth redirect on Laravel 5.6
正如@aimme(https://stackoverflow.com/users/1409707/aimme)所指出的,Ajax调用是无状态的,所以基本上你不能与后端进行交互. 他的建议和我的建议是将URL转移到要重定向到的目标页面,或者在您的情况下可以通过post参数传递给它,例如: return response()->json([ 'auth' => false,'intended' => $request->intended,'errors' => $validator->errors() ]); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |