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>
相关文章
相关标签/搜索