laravel Js去掉傳遞json中的"等轉義特需字符

    最近在laravel框架中,前臺Blade模版中獲取後臺傳遞的json字符串,發現了有&quot字符,現象以下:php

/*後端*/
$x_char = ["2017-10-25","2017-10-24"];

return view(xxx, ['x_char' => json_encode(x_char)]);

/*前端*/
<script>

var x_char = "{{ $x_char }}";
console.log( x_char ); //輸出 [&quot;2017-10-25&quot;,&quot;2017-10-24&quot;]

</script>

很明顯,後端接口傳遞至Balde模版裏的json數據,被轉義了。而我不須要轉義的json字符串。html

 

網上有博文,將這些轉義字符,用js正則轉回來,但麻煩。前端

後來看到這篇帖子,才發Blade模版接收變量時,用 {!! $x !!} ,可讓 $x 不會被php函數 htmlspecialchars轉義。laravel

原帖:https://segmentfault.com/q/1010000010580668json

laravel官網介紹:https://laravel.com/docs/5.4/blade#displaying-datasegmentfault

 

改造代碼以下:後端

/*前端*/
<script>

var x_char = {!! $x_char !!};//將 "{{ $x_char }}" 改成 {!! $x_char !!} 便可
console.log( x_char ); //輸出 ["2017-10-25", "2017-10-24"]

</script>
相關文章
相關標籤/搜索