如何通过 Laravel DataTable 显示 HTML?
Posted
技术标签:
【中文标题】如何通过 Laravel DataTable 显示 HTML?【英文标题】:How to display HTML through Laravel DataTable? 【发布时间】:2018-01-03 17:56:53 【问题描述】:我正在尝试通过我的 dataTable 请求获取一些 html。
我使用 Laravel DataTable 库。当我获取数据时,页面将 HTML 显示为列中我不想要的普通文本,我想将其显示为普通 HTML。
public function suppliers()
$Suppliers = Suppliers::getSuppliersView();
return Datatables::of($Suppliers)
->addColumn('operations', '<button id=" $serial_no " class="btn btn-primary">Edit</button>')
->rawColumns(['operations'])
->make();
关于这个问题的任何帮助?谢谢。
【问题讨论】:
【参考方案1】:很久以前就找到了解决办法,
我们可以使用
->escapeColumns(['operations'])
并设置我们要显示其 HTML 的每一列的名称。
它也可以帮助其他人。谢谢...
【讨论】:
【参考方案2】: $users = $user->all();
return Datatables::of($users)
->addColumn('feature', function($row)
return $row->feature ;
)->escapeColumns([])
->make(true);
【讨论】:
【参考方案3】:显示未转义的数据
默认情况下,Blade 语句会通过 php 的 htmlspecialchars 函数自动发送,以防止 XSS 攻击。如果您不希望您的数据被转义,您可以使用以下语法:
你好,!! $name !!。
尝试将刀片标签更改为
!! $serial_no !!
【讨论】:
我刚刚找到了解决方案,并发布了答案。如果有兴趣,请查看。 这与刀片无关,行将通过 AJAX 请求显示,使用 JQuery DataTables,这在这种情况下无济于事。以上是关于如何通过 Laravel DataTable 显示 HTML?的主要内容,如果未能解决你的问题,请参考以下文章
Laravel,Yajra Datatable,如果 y 那么如何返回 Yes else No
Datatable中基于ID的信息颜色状态高亮显示(Laravel 8)