我在laravel框架中工作。我有两种登录方式
当我提交我的简单登录表单时,用户登录成功,但是当我通过ajax请求登录用户时,我会收到登录成功的响应,但是当我在ajax登录后提交另一表单时,它将重定向到简单登录页面进行登录,因为Ajax登录中未正确设置用户身份验证的数量。
这是中间件
public function handle($request, Closure $next, $guard = null) {
if (Auth::check()) {
return $next($request);
}
return redirect()->route('userLogin');
}
控制器方法
public function ajaxPostLogin($inputs) {
try {
$inputs = $this->validateInputs($inputs, RulesHelper::$user_login, RulesHelper::$user_login_msg);
$inputs["user_type"] = 'user';
$response = $this->getObj(UserHelper::class)->ajaxUserLogin($inputs);
if (isset($response["success"])) {
echo json_encode(["success" => true, 'token' => csrf_token()]);
die;
} else {
echo json_encode(["success" => false, 'error' => $response]);
die;
}
} catch (\Exception $ex) {
echo json_encode(["success" => false, "message" => $ex->getMessage()]);
die;
}
}
我不知道我在哪里做错。以正确的方式进行指导。 谢谢
答案 0 :(得分:0)
在Laravel中。通过AJAX对用户进行身份验证后,请勿回显任何响应。仅在错误时回显。没有成功。这对我也有帮助。