首页 > 解决方案 > 无法使用 AJAX 接收 PHP 对象

问题描述

我无法从 ajax 获取 php 文件。首先在 PHP 文件中创建一个对象,然后使用 json_encode() 函数将其转换为 JSON。问题是:当我从 ajax 请求 PHP 文件时,没有任何内容显示为输出。(虽然'Smith'应该是一个输出)

这是我的 php 文件:1.php

 <?php 
    $myObj->name = "Smith";
    $myObj->age = 20;
    $myObj->Address = "Yangon";

    $myJSON = json_encode($myObj);

    echo "$myJSON"; 
  ?>

这是ajax文件:ajaxfile.php

<p id="demo"></p>
<script type="text/javascript">
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function(){
        if (this.readyState == 4 && this.status == 200) {
            var myObj = JSON.parse(this.responseText);
            document.getElementById("demo").innerHTML = myObj.name;
        }
    };
    xmlhttp.open("GET", "1.php", true);
    xmlhttp.send();
</script>

标签: phpjsonajax

解决方案


尝试

<?php
  $myObj['name'] = "Smith";
  $myObj['age'] = 20;
  $myObj['Address'] = "Yangon";
  $myJSON = json_encode($myObj);

  echo "$myJSON";
 ?>

推荐阅读