您好我想知道如何在javascript中使用刀片变量。 这是我在laravel中的查询
$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"}
]
我想知道如何删除& quot所以我得到一个完美的json来使用。
答案 0 :(得分:35)
您在Laravel 5中自动使用{{ }}
转出数据。请改用{!! $users !!}
。
答案 1 :(得分:0)
在新的laravel版本中,您现在可以使用@json($ users)
答案 2 :(得分:0)
有时您可能会向视图传递一个数组,目的是将其呈现为 JSON 以初始化 JavaScript 变量。例如:
<script>
var app = <?php echo json_encode($array); ?>;
</script>
然而,您可以使用 json_encode
Blade 指令代替手动调用 @json
。 @json
指令接受与 PHP 的 json_encode
函数相同的参数。默认情况下,@json
指令使用 json_encode
、JSON_HEX_TAG
、JSON_HEX_APOS
和 JSON_HEX_AMP
标志调用 JSON_HEX_QUOT
函数:
<script>
var app = @json($array);
var app = @json($array, JSON_PRETTY_PRINT);
</script>
<块引用>
您应该只使用 @json
指令将现有变量呈现为 JSON。 Blade 模板基于正则表达式,尝试将复杂表达式传递给指令可能会导致意外失败。