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

Laravel中DataTable渲染函数拼接路由参数失败求助

问题分析

你的核心问题是模板字符串的URL拼接语法错误,导致无法正确生成带ID的路由地址。

解决方案

修正render函数里的表单action拼接逻辑,去掉多余的+号,直接在模板字符串中用${row.id}插入ID值:

{
    data: null, 
    "render":function(row, type, val, meta){
            return `
            <form method="post" action="/xx/yyy/${row.id}">
            @csrf
            <button>send</button>
            </form>
            `;
    },
    "orderable": false
},
关键说明
  1. 模板字符串(`包裹的内容)内部直接通过${变量}插入值,不需要额外的+号拼接。你之前写的"/xx/yyy/"+${row[id]}属于语法错误,会导致生成的URL格式混乱。
  2. row是DataTable返回的当前行数据对象,直接用row.id访问ID属性比row[id]更直观且不易出错。
  3. 额外注意:如果这段JS代码是放在独立的.js文件中,Laravel的@csrf指令不会被解析,需要手动添加CSRF令牌字段:
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    
    若代码写在Blade模板内,则@csrf可以正常生成令牌字段。

内容的提问来源于stack exchange,提问作者RA.IBOY

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 15:32:08