我在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文件位于不同的服务器上。
答案 0 :(得分:3)
将其更改为PHP数组并使用json_encode()
函数
$jsonArray = array('numberOfPeople' => 5); //Now the value will be accessible under `numberOfPeople` json index
$json = json_encode($jsonArray);
echo $json;
答案 1 :(得分:1)
json_encode
是您需要的主要内容。请注意UTF-8编码要求。如果需要,请使用utf8_encode
。
答案 2 :(得分: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
以实现此目的。
答案 3 :(得分:0)
将标题设置为json,然后使用javascript获取它。
header("Content-type: application/json");
答案 4 :(得分: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>