在我的Laravel控制器下,我必须使用数组:
$labels = [6,7,8,9,10,11,12,13,14,15,16];
$datasets = [{
"label": "Chiron",
"backgroundColor": "#65e4ff",
"borderColor": "#65e4ff",
"data": [0.297619047619, 0.925595238095, 1,
0.886904761905, 0.902678571429, 0.993650793651,
0.925595238095, 0.915277777778, 0.97619047619, 0.920634920635]
}];
当我使用刀片$label
将这些php数组传递到我的视图时,它会正常工作但不会$datasets
var barChartData = {
labels: {{json_encode($labels)}},
datasets: {{json_encode($datasets)}}
};
出现以下错误:
未捕获的SyntaxError:意外的令牌&
页面的代码来源显示:
datasets:[{"label":"Chiron"...
然而,做:
var barChartData = {
labels: {{json_encode($labels)}},
datasets:<?php echo json_encode($datasets); ?>
};
就像一个魅力。我怎样才能正确使用blade
来获得相同的结果?
编辑:以防它可能导致错误,我使用compact将数据发送到我的视图。不确定这是问题
return view('graphs.chartjs', compact('datasets', 'labels'));
编辑2 :我确认$datasets
实际上是一个数组:
dd($datasets)
=>
array:4 [▼
"label" => "Chiron"
"backgroundColor" => "#65e4ff"
"borderColor" => "#65e4ff"
"data" => array:26 [▶]
]
答案 0 :(得分:0)
更新您的$dataset
数组,如
$datasets = [
"label"=> "Chiron",
"backgroundColor"=> "#65e4ff",
"borderColor"=> "#65e4ff",
"data"=> [0.297619047619, 0.925595238095, 1,
0.886904761905, 0.902678571429, 0.993650793651,
0.925595238095, 0.915277777778, 0.97619047619, 0.920634920635]
];
<{1>}输出后的
json_encode
答案 1 :(得分:0)
在您的视图文件中,使用以下代码解码finally
字符串:
datasets
修改强>
注意到花括号,不是php数组,应该是:
html_entity_decode($value, ENT_QUOTES, 'UTF-8')
删除花括号并更改为:
'key' => 'value'