你好,我想知道如何在javascript中使用blade变量。这是我在拉拉维尔的查询
$users=json_encode(DB::table('ledger')->select('name','openingbalance')->get());
我正在尝试在我的 javascript 文件中访问它,如下所示
var users ="{{ $users }}";
我得到的输出如下所示:
[
{"name":"Harsh","openingbalance":"5755.00"},
{"name":"Harh","openingbalance":"-12000.00"},
{"name":"gfgfhgf","openingbalance":"-333.00"}
]
我想知道如何删除",以便我得到一个完美的json来使用。
你在Laravel 5中自动使用{{ }}
转义数据。请改用{!! $users !!}
。
渲染JSON
有时,您可能会将数组传递给视图,目的是将其呈现为 JSON 以初始化 JavaScript 变量。例如:
<script>
var app = <?php echo json_encode($array); ?>;
</script>
但是,您可以使用 @json
Blade 指令,而不是手动调用 json_encode
。@json
指令接受与 PHP 的 json_encode
函数相同的参数。默认情况下,@json
指令使用 JSON_HEX_TAG
、JSON_HEX_APOS
、JSON_HEX_AMP
和 JSON_HEX_QUOT
标志调用 json_encode
函数:
<script>
var app = @json($array);
var app = @json($array, JSON_PRETTY_PRINT);
</script>
应仅使用
@json
指令将现有变量呈现为 JSON。Blade 模板基于正则表达式,尝试将复杂表达式传递给指令可能会导致意外失败。
资料来源:文献
在新的 laravel 版本中,您现在可以使用 @json($users(