You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel报错:InvalidArgumentException Route [login]未定义,请求协助

解决Laravel中「Route [login] not defined」错误

嘿,别慌!明天考试前肯定能把这个问题搞定~这个错误的核心原因是:Laravel的认证机制试图跳转到名为login的路由,但你当前的路由配置里并没有定义它,大概率是下面两种场景之一:

场景一:控制器被auth中间件保护了

如果你的HomeController构造函数里配置了auth中间件,那未登录用户访问save_contact方法时,Laravel会自动尝试跳转到登录页面,但你没配置对应的登录路由,就触发了这个报错。

解决步骤:
打开HomeController.php,找到构造函数,把save_contact方法排除在中间件限制之外:

public function __construct()
{
    // 让注册接口不受登录验证限制
    $this->middleware('auth')->except('save_contact');
}

要是这个注册接口本来就不需要用户登录,也可以直接删掉整个控制器的auth中间件配置。

场景二:确实需要配置登录路由(注册场景大概率不需要)

如果你的业务逻辑要求用户必须登录才能提交表单,那得在web.php里补充登录相关路由:

// 添加登录页面路由(必须命名为login,满足Laravel认证跳转的规则)
Route::get('/login', 'Auth\LoginController@showLoginForm')->name('login');
// 添加登录提交的处理路由
Route::post('/login', 'Auth\LoginController@login');

最后再给个小建议:给你的注册路由加个名称,后续调用更稳妥,比如:

Route::post('/save_contact', 'HomeController@save_contact')->name('save.contact');

之后表单提交地址就可以用{{ route('save.contact') }}来生成,比硬写URL更可靠。

内容的提问来源于stack exchange,提问作者md hasanuzzaman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 02:27:36