【问题标题】:How to display HTML through Laravel DataTable?如何通过 Laravel DataTable 显示 HTML?
【发布时间】: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();
}

关于这个问题的任何帮助?谢谢。

【问题讨论】:

    标签: php html laravel datatables


    【解决方案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,这在这种情况下无济于事。
        猜你喜欢
        • 2017-01-06
        • 2018-04-26
        • 1970-01-01
        • 2019-07-07
        • 1970-01-01
        • 2018-02-15
        • 2020-12-19
        • 2010-10-28
        • 2017-06-21
        相关资源
        最近更新 更多