我尝试使用ajax登录和注册更新laravel auth . 我有一个登录表单,它将ajax POST请求发送到/ login路径 . 一切正常,除了用户成功登录的情况 - 在这种情况下,laravel返回重定向到/ home页面 .

是否可以防止这种行为?我想得到像 {message:"User signed in",redirect_to:"/home"} 而不是实际重定向的东西 .

现在我只是将sendLoginResponse方法从 Illuminate/Foundation/Auth/AuthenticatesUsers 复制到 Auth/LoginController 并重写如下:

protected function sendLoginResponse(Request $request)
{
    $request->session()->regenerate();

    $this->clearLoginAttempts($request);

    //return $this->authenticated($request, $this->guard()->user())
    //        ?: redirect()->intended($this->redirectPath());

    return $this->authenticated($request, $this->guard()->user())
            ?: ["message"=>"User successfully logged in"];
}

我不喜欢它 . 有更自然的方式吗?是否可以强制laravel返回redirect_to url而不是为每个ajax请求进行实际的重定向?