【发布时间】:2018-12-27 18:33:05
【问题描述】:
我需要在我的控制器中对一个名为“contact”的 php 对象进行 json 编码,将其传递给我的视图,然后使用 javascript 对其进行解析。其中一个对象属性包含 HTML 标记,这似乎会引起很多问题。我在成功解析对象时遇到了很多麻烦。
在调用 JSON.parse() 时,我不断收到以下 javascript 错误。
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 }}");
【问题讨论】:
-
我是否可以假定
{{ $campaign }}的整个字符串被$contact的内容替换?或者那里还有其他的魔法。此外,请在使用 htmlspecialchars 处理它之前提供print_r或var_dump或var_dump(因为仅json_encode($contact)就应该完成您需要的所有工作)。 -
这也是用ajax调用的吗?
-
@IncredibleHat,请编辑帖子,内容应为 $contact。其次,不,我从 Laravel 控制器提供编码数据。
-
@IncredibleHat,简单的 json 编码不起作用,导致同样的错误。
-
对... laravel。处理这个问题的人应该介入,因为答案可能很明显,但是处理那个包装器,使它成为我不会触及的东西。对不起。
标签: javascript php json laravel-blade