我正在为Laravel使用这个DataTable插件,该插件用于使用此jQuery DataTable插件。
我按照找到here的说明进行操作,所以这是我的控制器:
class FeedbackController extends Controller {
public function UserFeedback(Request $request) {
$t = Datatable::make(new CollectionProvider(FeedbackModel::all()))
->column('overall')
->build();
if ($t->shouldHandle()) {
return $t->handleRequest();
}
return view('admin.feedback', ['datatable' => $t->view()]);
}
}
这在我看来:
{{
$datatable->html()
}}
但由于某种原因,当我加载页面时,它输出的html具有如下的htmlentities:
<table id="dataTable">
</table><script type="text/javascript">
jQuery(document).ready(function () {
// dynamic table
oTable = jQuery('#dataTable').DataTable({
"processing": true,
"serverSide": true,
"ajax": "/",
"columns": [
{ 'data': 'overall' },
]
});
});
</script>
为什么要这样做?
答案 0 :(得分:1)
这将有助于您(取自laravel docs)
使用大括号显示原始文本
如果您需要显示一个用花括号包裹的字符串,您可以通过在文本前面添加@符号来逃避Blade行为:
@{{ This will not be processed by Blade }}
如果您不希望转义数据,可以使用以下语法:
Hello, {!! $name !!}.
在此使用...
{{
$datatable->html()
}}
忽略上述情况,这是错误的方法,请执行以下操作...
或强>
你可以像这样解码html ......
htmlspecialchars_decode($datatable->html())
并输出......