最近在laravel框架中,前臺Blade模版中獲取後臺傳遞的json字符串,發現了有"字符,現象以下: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 ); //輸出 ["2017-10-25","2017-10-24"] </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>