在控制器中我有这个变量
$_colors = ['dummy1','dummy2','dummy3'];
我使用此代码返回视图
return view('view')->with(['colors'=>$_colors]);
在page.blade.php中,我尝试捕获标记内的变量
<script>
var colors = "{{$colors}}";
</script>
不幸的是,它引发了错误:
htmlspecialchars()期望参数1为字符串,给定数组为
答案 0 :(得分:0)
您可以尝试使用
<script>
var colors = JSON.parse('{!! json_encode($colors, true) !!}');
</script>
将PHP数组编码为JSON字符串,然后在JavaScript代码中解码此字符串。
你也可以试试。
<script>
var colors = JSON.parse('{!! $colors !!}');
</script>
答案 1 :(得分:0)
那是因为$_colors
,您分配给$colors
的是一个数组。当您将其放在视图中的javascript代码中时,将其打印为json字符串是合理的:
<script>
var colors = {!! json_encode($colors) !!};
</script>