在Laravel Blade Template中使用JavaScript将PHP变量与HTML存储在一起

Joh*_*ohn 4 javascript php jquery laravel

我需要一种方法来存储JavaScript中PHP变量的HTML.

var contents = "{{ $template }}";
Run Code Online (Sandbox Code Playgroud)

然而,这会产生错误.我想这是因为它没有正确转义,所以它弄乱了网络浏览器,因为JS无法正确存储...我已经尝试过Laravel转义

var contents = "{{ e($template) }}";
Run Code Online (Sandbox Code Playgroud)

没有任何成功.

最终目标是: $('#preview-iframe').contents().find('html').html(contents);

我怎么能做到这一点?

小智 9

双花括号{{ }}将始终将特殊字符转换为HTML实体.尝试使用{!! !!}完全呈现代码.但是,您需要确保转义字符串中的双引号.

所以这:

var contents = "{{ $template }}";
Run Code Online (Sandbox Code Playgroud)

应该是这样的:

var contents = "{!! addcslashes($template, '"') !!}";
Run Code Online (Sandbox Code Playgroud)


boo*_*ans 0

你可以试试var contents = {{$template->toJSON()}};