我需要帮助理解这一点,我有一个简单的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>
答案 0 :(得分:0)
您确定关键&#34;问题&#34;存在于文件中? 这是什么回报
document.getElementById("demo").innerHTML = jsond