最近在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>