Laravel中Ziggy路由报错:已定义路由不在路由列表
解决Ziggy路由未识别的问题
错误根源是你调用Ziggy的route()函数时,把带查询参数的完整路径当成了路由名称,而Ziggy需要的是你在路由定义里设置的路由别名(即->name('contract.generatePDF')的值)。
正确的调用方式
把查询参数以对象形式作为route()函数的第二个参数传入,而不是拼在路由名称后面:
router.visit(route("contract.generatePDF", { id: props.contract.id, pickupKM: pickupKM }));
如果不用Ziggy的route()函数,直接写路径的话
确保路径格式正确,不需要用Ziggy的route()包裹,直接传字符串:
router.visit(`/contract/generatePDF?id=${props.contract.id}&pickupKM=${pickupKM}`);
额外排查点
- 确认你的Blade模板里已经引入了
@routes指令,或者Vue项目中正确配置了Ziggy(比如安装了ziggy-js并导入相关模块) - 执行
php artisan route:clear清除路由缓存,确保Ziggy能获取到最新的路由列表
内容的提问来源于stack exchange,提问作者Vannian
相关产品推荐
相关产品推荐

