php - 将 PHP JSON 传递给 Javascript : echo json_encode vs echo json declaration

标签 php javascript jquery json

我正在尝试创建一个通用常量文件以在 php 和 javascript 之间共享,使用 JSON 来存储常量。但我想知道为什么使用 json_encode() 将 JSON 从 PHP 传递到 javascript 而不是回显 json 声明。

假设我有 PHP JSON

<?php 

$json_obj = '{"const1": "val",
            "const2": "val2"             
                            }';

?>

谷歌搜索,似乎传回 javascript 的典型方式是使用

<?php echo json_encode($json_obj); ?>

然后我相信我必须使用类似 $.getScript() 的东西来读取 php 文件以获取 $json_obj 然后使用 parseJSON() 使其可用于 javascript。

但为什么不改为

<?php  echo 'var json = '.$json_obj; ?>

这样你所要做的就是直接加载脚本,你就可以直接使用 json 了。

使用 json_encode() 然后简单地将声明回显到 javascript 是否更有利?

最佳答案

在你的情况下 $json_obj 已经是一个字符串。所以没有必要。但是如果你有一个数组你想传递给 javascript json_encode 将帮助你。

关于php - 将 PHP JSON 传递给 Javascript : echo json_encode vs echo json declaration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18528692/

相关文章:

PHP PDO : SQL query not returning expected result

php - 从多维数组创建新数组

javascript - 如何使用 html/html5 中的用户输入获取完整的地理位置详细信息?

javascript - 从数组中的所有 javascript 对象添加特定属性的值

php - 使用 mysqli 而不是 mysql 时运行一段时间。

php - pdo 准备好的声明不起作用

javascript - JQuery:如果输入文件为空,则需要隐藏 div

javascript - JavaScript 中的 getUserMedia() 跨浏览器规范化。非法调用

javascript - 仅显示适合桌面屏幕尺寸的 div

jquery - 使用 JQuery GAE Dropload 时出现问题 - 通过拖放上传 Blobstore