javascript - JSON 包含单引号导致语法错误

标签 javascript php json syntax-error

所以我有数据需要通过php获取。然后,应将此数据保存到 .php 文件中的 JavaScript 变量中,以回显该值:

$json = json_encode($requirements);
echo "<script>
        var myvar = '<?php echo $json; ?>';
      </script>";

数据包含单引号,这会在 Chrome 中产生语法错误:

Uncaught SyntaxError: Unexpected identifier

页面源看起来像错误:

var myvar = '<?php echo {"data":{"data":{"1":{"description":"Don'    t}}}}; ?>';

直到“Don'”为止的整个字符串都是红色的。

防止 json_encode 失败的正确方法是什么(除了直接将数据调用到 js 之外)?

最佳答案

然后您需要转义 ' 字符,例如使用反斜杠 \:

{"data":{"data":{"1":{"description":"Don\'t}}}}

或者当您使用 php 时,您可以使用 addslashes功能

关于javascript - JSON 包含单引号导致语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38351609/

相关文章:

javascript - 在 jQuery Animate 中获得位置

javascript - 优胜美地(OS X 10.10)上是否有javascript GUI自动化的引用

javascript - 使用用户代理定位特定的黑莓手机

javascript - PHP 样式在 HTML 中插入文件内容

php - 仅在 chrome 的图像 slider 中对齐图像

php - PHP session 是否跨子目录工作?

java - 将 json 数据简化为避免特定 json 键内重复值的形式

java - Spring MVC + JSON = 406 Not Acceptable

javascript - 将计算结果放入另一个数组中

ios - 将 JSON 数组字符串转换为 JSON 数组返回 null