我想发出一个 AJAX 登录请求,如果身份验证失败,身份验证错误消息应在 JSON 对象中返回。最好的方法是什么?
提前感谢您的回答!
编辑:
我使用php artisan make:auth
命令生成身份验证。
身份验证失败的可能性有两种:
- 请求验证失败
- 凭据无效
当请求验证失败时,返回的错误会根据请求的预期进行调整,因此如果是 JSON,它将在 JSON 响应中返回错误。
问题在于第二种情况,在这种情况下,您可以简单地执行以下操作:
class LoginController {
use AuthenticatesUsers {
sendFailedLoginResponse as protected traitSendFailedLoginResponse;
}
protected function sendFailedLoginResponse(Request $request) {
if ($request->expectsJson()) {
return response()->json([ "errors" => Lang::get('auth.failed') ]);
} else {
return $this->traitSendFailedLoginResponse($request);
}
}
}