无法从localhost中的php文件中获取json数据

时间:2017-03-06 04:53:17

标签: javascript php json html5

我正在尝试创建一个客户端脚本来从PHP文件中获取JSON数据。我正在使用XAMPP来运行PHP脚本。当我运行demo_file.PHP时,它显示输出。但是当我尝试使用客户端脚本获取数据时,它不会显示任何结果。 demo_file.php是:

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

$myJSON = json_encode($myObj);

echo $myJSON;
?>

和获取json数据的demo.html是:

<!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>

1 个答案:

答案 0 :(得分:1)

你可能会收到错误:

<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