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

Laravel使用@extends继承布局后导航栏JS加载失败(404错误)求助

解决Laravel中模板继承页面JS加载404的问题

嘿,我来帮你搞定这个JS加载失败的问题!从你描述的情况——首页能正常加载JS,但通过@extends('admin.layout.admin')继承的页面却报404——来看,核心问题是你用了相对路径加载JS文件,当访问/admin/product这类子路由页面时,浏览器会错误地把JS路径解析成/admin/product/js/jquery-3.2.1.min.js,自然找不到位于public/js目录下的文件。

下面是具体的解决步骤:

1. 改用Laravel的asset()辅助函数生成绝对路径

把你布局文件中加载JS的代码从相对路径改成绝对路径:

<!-- 原来的错误写法 -->
<script src="js/jquery-3.2.1.min.js"></script>

<!-- 改成下面的写法 -->
<script src="{{ asset('js/jquery-3.2.1.min.js') }}"></script>

asset()函数会根据你.env文件里的APP_URL生成完整的绝对URL,比如http://localhost:8000/js/jquery-3.2.1.min.js,不管当前页面在哪个路由层级,都能精准指向public/js目录下的文件。

2. 确认文件位置与文件名

检查你的项目目录,确保jquery-3.2.1.min.js确实放在public/js/目录下,并且文件名完全匹配(注意大小写,Linux服务器环境下文件名大小写是敏感的)。

3. 清理缓存(可选,生产环境建议执行)

如果是在生产环境部署的项目,可能存在缓存导致路径解析异常,运行以下命令清理缓存:

php artisan config:cache
php artisan route:cache

从你提供的截图也能看出来,导航栏的JS请求路径是基于当前子页面URL拼接的,这完全符合相对路径出错的特征,按照上面的步骤修改后应该就能解决问题啦!

内容的提问来源于stack exchange,提问作者Piermauro Nesi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:03:13