如何解决Laravel中Ajax请求已定义路由报RouteNotFoundException的问题
Laravel Ajax请求RouteNotFoundException排查方案
- 请求方式匹配校验:确认Ajax请求的method与路由定义的请求方式完全一致,例如POST请求必须对应
Route::post()定义,PUT/DELETE等请求需要注意Ajax是否正确设置请求方法,不要混用Route::get()和Route::post() - 路由缓存清理:修改路由配置后必须执行
php artisan route:clear清除本地路由缓存,生产环境需要同步执行php artisan route:cache重新生成缓存,未清缓存是该异常的高发原因 - 路径前缀校验:如果路由定义在
routes/api.php文件中,Laravel会默认添加/api全局前缀,Ajax请求URL需要同步添加前缀;如果路由配置了路由组前缀,也要对应拼接完整请求路径 - 命名路由拼写校验:如果使用
route()辅助函数生成请求URL,需确认路由定义的name属性与调用时的参数完全一致,拼写错误、大小写不匹配都会触发路由未定义异常 - 路径层级校验:如果项目部署在域名子目录下,硬写绝对路径会丢失子目录前缀,建议使用
{{ url('路由路径') }}生成完整请求地址,避免路径层级错误
相关参考截图
异常报错截图

Ajax与路由配置代码截图

已尝试操作参考

内容的提问来源于stack exchange,提问作者Pedro F
相关产品推荐
相关产品推荐

