php - 嵌入式 PHP 代码的 Javascript 语法错误

标签 php javascript

我犯了一些愚蠢的错误,但无法弄清楚我做了什么。

我正在尝试测试从 PHP 到 Javascript 的传递变量,如果它是一个数组,json_encode

我的文件是一个 PHP 文件,即 .php

似乎是导致错误的 php 代码行我已添加到原始 PHP 并且它工作正常

<?php

$php_var = 'lol';
$php_array = array ();
$php_array["lady"] = "mary";
$php_array["gent"] = "joseph";
echo is_array($php_array) ? json_encode($php_array) : $php_array;  // same as faulty line in javascript
?>

<html>
<body>

<script type="text/javascript" charset="utf-8">

var php_var = "<?php if (is_array($php_var)) {echo json_encode($php_var); } else { echo $php_var;}; ?>";
document.write(php_var + ' ifElse<br>');

// THE FOLLOWING LINE GIVES  Uncaught SyntaxError: Unexpected identifier 
var php_var2 = "<?php echo is_array($php_array) ? json_encode($php_array) : $php_array; ?>";

document.write (php_var2 + ' EitherOR<br>');

alert(php_var + php_array);

</script>
<h1> Testing Jscript variables</h1>
</body>
</html>

最佳答案

正如您指定的那样,错误位于:

var php_var2 = "<?php echo is_array($php_array) ? json_encode($php_array) : $php_array; ?>";

错误可能是由于您使用了双引号 ("")使用单引号 ('')在 Javascript 中。

这可能会解决您的错误: var php_var2 = '<?php echo is_array($php_array) ? json_encode($php_array) : $php_array; ?>';

或者你可以直接创建一个Javascript Object使用 eval() 来自 JSON 字符串.

http://jsfiddle.net/jduGp/

关于php - 嵌入式 PHP 代码的 Javascript 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14520986/

相关文章:

php - Unix 'at' 命令并返回作业号

php - 比较php中的两个字符串是否得到不匹配的字符数?

php - Laravel 手动登录功能

javascript - 如何使用 webpack 和 babel 导入 highcharts

javascript - 基于某个键值在Javascript中进行数组排序并根据另一个键值再次排序

javascript - 动态值存储在 javascript json 中

php - PHP 中的内爆与 MySQL 中的内爆 - 哪个使用更少的 cpu?

php - .JPEG .JPG 高质量图像不在 PHP HTML 中上传

javascript - for循环中的setTimeout,变量不变

javascript - 如何使用Data-id发送多个Id