如何将php变量放在不同的javascript对象中?

我正在尝试从 php 获取数据,将其存储为 json 并将其加载到我的 javascript 代码中。

我像这样将我的变量存储在 php 中:

$data = array[];
$data = json_encode($raw_data);

现在我想检索该数据并在我的 javascript 文件中使用它。我试图在我的 js 文件中使用以下代码:

var data ="<?php echo $data ?>";
沧海一幻觉
浏览 112回答 4
4回答

子衿沉夜

如果数据只在页面加载时需要一次,您可以在 PHP 代码中使用脚本块,然后使用 JS 函数来获取它。但是,如果数据根据用户与页面的交互进行更新,请记住,如果不使用 AJAX,则无法将数据从 PHP 中的服务器端发送到 JS 中的客户端。我建议您阅读并使用以下 3 种方法之一:XHR 获取 或axios

喵喵时光机

您正在使用引号将字符串声明为可变数据。请删除引号,这将符合您的期望。因此,您的代码应替换为以下几行。var&nbsp;data&nbsp;=<?php&nbsp;echo&nbsp;$data&nbsp;?>;

至尊宝的传说

var&nbsp;data&nbsp;=&nbsp;<?php&nbsp;echo&nbsp;$data&nbsp;?>;或者var&nbsp;data&nbsp;=&nbsp;JSON.parse("<?php&nbsp;echo&nbsp;$data&nbsp;?>");

开心每一天1111

最明显的问题是你的引号,它使变量成为 JavaScript 中的字符串,而不是具有数据结构的复杂对象。因此,对变量中属性等的任何引用都不起作用。应删除引号,以便将数据作为对象文字呈现到发出的 JavaScript 中。但是还有另一个重要的问题:如果这是在你所说的 .js 文件中完成的,那么 PHP 解释器没有在那里运行,所以 echo 将不起作用(引号或不引号),因为它不是由执行的PHP又变成了数据。您只会看到直接嵌入 JS 代码中的 PHP 代码。您必须将数据回显到 .php 文件中的脚本块中,然后调用 .js 文件中的适当函数并将数据作为参数传递。如果只需要一次数据,这将很好地工作。例如文件<?php$data = array[];$data = json_encode($raw_data);?><script src="someJsFile.js"></script><script>var data = <?php echo $data ?>; //inject the data into the JS as an object literalsomeFunc(data); //pass the data to a function in someJsFile.js</script>文件:function someFunc(data) {&nbsp; //your code to process the data}如果您需要在页面的生命周期内保持更新,那么您将需要 AJAX 才能从服务器请求新数据,如其他答案之一所建议的那样。
打开App,查看更多内容
随时随地看视频慕课网APP