所以我有需要通过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之外)?
答案 0 :(得分:1)
答案 1 :(得分:1)
我也遇到过与Single&amp; amp相同的问题。双引号。 您可以通过更改单个&amp;双引号。请查看以下示例。
$array = array(
"data" => array("data" => array ("desc" => "don't"))
);
$json = json_encode($array);
echo "<script>
var myvar = ".$json.";
console.log(myvar);
</script>";
答案 2 :(得分:0)
你需要转义双引号,试试:
var myvar = "<?php echo '{\"data\":{\"data\":{\"1\":{\"description\":\"Don\'t}}}}'; ?>";
alert(myvar)