【问题标题】:Summernote set text through passed parameter in laravelSummernote 通过 laravel 中传递的参数设置文本
【发布时间】:2017-12-18 18:26:53
【问题描述】:

我的 laravel 控制器将参数传递给我可以通过$note{{ }} 中访问的视图。好吧,它有效。我可以得到笔记的标题。但是,当我想为summernote 设置HTML 时,它不知何故不起作用。这是我尝试过的:

<script type="text/javascript">
$('#editor').summernote('code', '{{ $note->html }}');

以及使用{!! $note-&gt;html !!}} 未转义。结果是一个summernote 编辑器,它看起来像一个普通的文本输入。 然而,当手动设置[...]('code', '&lt;html&gt;&lt;h1&gt;some html for example&lt;/h1&gt;&lt;/html&gt;)[...] 时,它就像一个魅力。

很明显,这与blade 使用{{ }} 输出数据的方式有关,但我目前无法弄清楚原因。使用未转义的 html 是我想到的第一个方法。

【问题讨论】:

  • 看看结果输出,看看里面是否有'或其他东西。
  • 其实我正要这么做。浏览器控制台告诉我Uncaught SyntaxError: Invalid or unexpected token$('#editor').summernote('code', '&lt;p&gt;Could not contact K&amp;ouml;rbel Mr.&lt;/p&gt; ');
  • 我现在试过stripslashes,还是一样
  • Mhh.. 我要显示的字符串有什么可疑之处吗?我看不到。
  • 那行得通。请将此作为答案提交,以便我检查它是否正确!

标签: javascript php laravel summernote


【解决方案1】:

当输出 PHP 数据供 JavaScript 使用时,我喜欢在变量上使用json_encode。这保证了变量在 JavaScript 友好的版本中得到输出 - 它会将字符串包装在 ' 标记中,不理会整数,并将复杂的数组/对象输出为正确的 JSON。

$('#editor').summernote('code', {!! json_encode($note->html) !!});

【讨论】:

  • 投票赞成对 json_encode 的简要和可忽略的解释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-09
  • 2020-05-21
  • 2019-04-21
  • 2023-03-05
  • 1970-01-01
相关资源
最近更新 更多