无法从本地主机的PHP文件中获取json数据

问题描述:

我正在尝试使客户端脚本从PHP文件中获取JSON数据。我正在使用XAMPP来运行PHP脚本。当我运行demo_file.PHP时,它显示输出。但是,当我尝试使用客户端脚本获取数据时,它不显示任何结果。 的demo_file.php是:无法从本地主机的PHP文件中获取json数据

<?php 
$myObj->name = "John"; 
$myObj->age = 30; 
$myObj->city = "New York"; 

$myJSON = json_encode($myObj); 

echo $myJSON; 
?> 

和demo.html获取JSON数据是:

<!DOCTYPE html> 
<html> 
<body> 

<h2>Get data as JSON from a PHP file on the server.</h2> 

<p id="demo"></p> 

<script> 

var xmlhttp = new XMLHttpRequest(); 

xmlhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     myObj = JSON.parse(this.responseText); 
     document.getElementById("demo").innerHTML = myObj.name; 
    } 
}; 
xmlhttp.open("GET", "demo_file.php", true); 
xmlhttp.send(); 

</script> 

</body> 
</html> 

你可能得到错误:

<b>Warning</b>: Creating default object from empty value in <b>[...][...]</b> on line <b>3</b><br /> 

您不能创建对象直接像这样。您先创建StdClass()的实例。如下所示。

$myObj = new stdClass();//need to create instance first 
$myObj->name = "John"; 
$myObj->age = 30; 
$myObj->city = "New York"; 

$myJSON = json_encode($myObj); 

echo $myJSON; 

详细请看这里Creating default object from empty value

+0

@Rohit铢没有尝试上面的代码。 –

+0

是的,它的工作!谢谢 –

+0

@ Rohit Bhat然后接受回答,以便其他人可以得到帮助。 –