将PHP集成到Javascript(意外令牌)

时间:2015-03-23 20:57:15

标签: javascript php

为什么javascript会返回'意外令牌<'将php内联与javascript集成时出错?

示例:

var labelPts = <?php echo json_encode($label) ?>;

此示例位于从* .php网页

调用的.js脚本中

1 个答案:

答案 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在浏览器中运行。它工作正常。