为什么javascript会返回'意外令牌<'将php内联与javascript集成时出错?
示例:
var labelPts = <?php echo json_encode($label) ?>;
此示例位于从* .php网页
调用的.js脚本中答案 0 :(得分:0)
正如我们在这里看到的那样,http://php.net/manual/en/function.json-encode.php,JSON数据带有双引号。所以JavaScript需要单引号来显示带有JSON数据的字符串。例如:
<html>
<head>
<title>By José Manuel Abarca Rodríguez</title>
<script type="text/javascript">
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
?>
var txt = '<?php echo json_encode($arr); ?>'; // NOTICE THE SINGLE QUOTES!!!
function show_json () {
document.getElementById("my_div").innerHTML = txt;
}
</script>
</head>
<body>
<button onclick="show_json();">Get JSON data from server</button>
<br/>
<br/>
<div id="my_div">
</div>
</body>
</html>
将以前的代码复制粘贴到文本文件中,使用PHP扩展名保存,然后使用localhost / filename.php在浏览器中运行。它工作正常。