首页 > 解决方案 > 解析具有包含 html 标记的属性的编码 php 对象

问题描述

我需要在我的控制器中对一个名为“contact”的 php 对象进行 json 编码,将其传递给我的视图,然后使用 javascript 对其进行解析。其中一个对象属性包含 HTML 标记,这似乎会引起很多问题。我在成功解析对象时遇到了很多麻烦。

我在调用时不断收到以下 javascript 错误JSON.parse()

VM4464:1 Uncaught SyntaxError: Unexpected token & in JSON at position 1
    at JSON.parse (<anonymous>)

我尝试了什么:

PHP

$contact = htmlspecialchars(json_encode($contact), ENT_QUOTES, 'UTF-8');

前端

var contact = JSON.parse("{{ $contact }}");

标签: javascriptphpjsonlaravel-blade

解决方案


就在昨天我遇到了同样的问题,显然它与刀片转义特殊字符有关。我在这个网站上找到了答案,

尝试 var contact = JSON.parse('{!! json_encode($contact) !!}');

注意使用 {!! 而不是 {{,并尝试尝试使用单引号/双引号,甚至不使用引号,也许?


推荐阅读