Javascript laravel获取数据以json格式传递给laravel blade

Javascript laravel获取数据以json格式传递给laravel blade,javascript,php,json,laravel,laravel-blade,Javascript,Php,Json,Laravel,Laravel Blade,我有数据表明我正在使用d3.js创建图表。我有一部分工作与硬编码的数据等 var data = { "name": ["A", "B", "C", "D", "E"], "vals": [48, 35, 34, 21, 11] } 我正在努力将数据输入到我的刀片模板的javascript部分。我尝试对以下内容进行硬编码,得到一个htmlspecialchars()期望参数1为字符串,对象为给定的 $test = json_enco

我有数据表明我正在使用d3.js创建图表。我有一部分工作与硬编码的数据等

var data = {
            "name": ["A", "B", "C", "D", "E"],
            "vals": [48, 35, 34, 21, 11]
        }
我正在努力将数据输入到我的刀片模板的javascript部分。我尝试对以下内容进行硬编码,得到一个htmlspecialchars()期望参数1为字符串,对象为给定的

$test = json_encode([
            "name" => ["A", "B", "C", "D", "E"],
            "vals"=> [48, 35, 34, 21, 11]
        ]);
在刀片的脚本区域中使用此选项

var test = {{json_decode($test)}};
如果我不做json解码,我不会得到一个错误,但它会转换我的“to”,这显然是行不通的

我知道我只是缺少了一些可以让它工作的东西,但也许我会做一个新的方法并调用ajax来实现它


任何想法或提示都会有帮助

您需要输出值unescaped-
var test={!!$test!!}


如果从数据库或模型中获取值,可以考虑使用<代码> tojScript()/代码>帮助器。< /P> < P>简单地使用无转义输出:

<script>
    var array = {!! json_encode($array) !!};
</script>

var数组={!!json_encode($array)!!};


var-array=@json($array);
PHPStorm中的两个变体都将突出显示这一行,并显示一个错误表达式

因此,我的完整答案是:

<script>
    var array = [].concat(@json($array));
</script>

var-array=[].concat(@json($array));

我知道这很简单。谢谢。
<script>
    var array = [].concat(@json($array));
</script>