0

我在 PHP 中有一些这样的数据:

NumberOfPeople.php
<?php
$numberOfPeople = 5;
?>

如何将该变量转换为 JSON 对象,然后将其输出到 HTML 文件中。

像这样的东西:

RandomHTMLFile.html
<script type="text/javascript">
  var NumberOfPeople = JSON VARIABLE FROM THE PHP FILE
</script>

这是 JSON 的用途,对吗?

请注意,输出文件是 HTML 文件而不是 PHP 文件,因此它必须完全基于 Javascript。

此外,HTML 文件将位于与 PHP 文件不同的服务器上。

4

5 回答 5

3

将其更改为 PHP 数组并使用json_encode()函数

$jsonArray = array('numberOfPeople' => 5); //Now the value will be accessible under `numberOfPeople` json index
$json = json_encode($jsonArray);
echo $json;
于 2012-05-03T01:04:25.547 回答
1

json_encode是您需要的主要内容。请注意 UTF-8 编码要求。utf8_encode需要时使用。

于 2012-05-03T01:03:47.403 回答
0

要从静态 html 页面访问在服务器端生成的 json 输出,您可以使用jquery的内置$.getJSON函数。

RandomHTMLFile.html
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" />
<script type="text/javascript">
  var NumberOfPeople;
  $.getJSON('NumberOfPeople.php',{},function(response){ 
     NumberOfPeople = response;
  });
</script>

在服务器端,您需要使用 php 的json_encode函数将变量转换为 json:

NumberOfPeople.php
<?php
$numberOfPeople = 5;
echo json_encode($numberOfPeople);
?>

当然,您可以考虑使用预先计算的变量生成 html 页面。可以使用 php 输出 html 并提供它,就好像它们像静态 html 页面一样被请求。您可能需要阅读有关mod_rewrite实现此目的的信息。

于 2012-05-03T01:05:28.017 回答
0

将标头设置为 json,然后使用 javascript 获取它。

header("Content-type: application/json");
于 2012-05-03T01:39:35.940 回答
0

NumberOfPeople.php

<?php
$data['NumberOfPeople'] = 5;
echo json_encode($data);
?>

RandomHTMLFile.html

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" />
    <script type="text/javascript">
      var NumberOfPeople;
      $.getJSON('NumberOfPeople.php',function(data){ 
         var NumberOfPeople = data.NumberOfPeople;
      });
    </script>
于 2012-05-03T07:03:42.807 回答