使用Javascript访问Json对象

时间:2015-10-24 19:15:26

标签: javascript php html json

我需要帮助理解这一点,我有一个简单的JSON字符串,我的PHP脚本返回:      { "questions" : "question1"}

我访问它的代码是:'

<script>

  var xhttp = new XMLHttpRequest();


 xhttp.onreadystatechange = function() {
 if (xhttp.readyState == 4 && xhttp.status == 200) {
     var jsond = JSON.parse(xhttp.responseText);
     document.getElementById("demo").innerHTML = jsond['questions'];
     document.getElementById("demo").innerHTML = jsond.questions;
    }
  }
  xhttp.open("GET", "make_exam.php", true);
  xhttp.send();
</script>

但由于某些原因,我不知道它会继续显示未定义的内容。我已经尝试逐步理解一切,但似乎无法看到我做错了什么。理解它的任何帮助或如何解决的建议都表示赞赏。

我的PHP脚本在下面,我不认为错误在这里,但我知道什么。

        $file= "my.json";

        $json = json_encode(file_get_contents($file));
        if(empty($json))
        {
            echo "nothing";
        }
        else
        {
            echo $json;
        }

伙计们,这是完整的html文件

<!DOCTYPE html>
<html>
<head>
</head>

<body>
<button onclick="loadDoc()"> "Make Exam" </button>


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

</body>



<script type="text/javascript">
function loadDoc() {


  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
    var jsond = JSON.parse(xhttp.responseText);
     alert(jsond);
    document.getElementById("demo").innerHTML = '<p>'+ jsond.questions +'</p>';
    }
  }
  xhttp.open("GET", "make_exam.php", true);
  xhttp.send();

  document.getElementById("demo").innerHTML = "hi";

}
</script>







</html>

1 个答案:

答案 0 :(得分:0)

您确定关键&#34;问题&#34;存在于文件中? 这是什么回报

document.getElementById("demo").innerHTML = jsond