мне нужно помощь, чтобы понять это, у меня есть простая строка JSON, что мой PHP скрипт возвращает: { "questions" : "question1"}
Доступ Json объект Javascript
и мой код для доступа к ней является:»
<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>
также .. у меня есть два документа.getElementByID, потому что я попробовал оба. –
Что такое console.log (jsond)? – AdamJeffers
Попробуйте открыть Dev Tools (в Chrome) или Firebug (в Firefox) и проверить вкладку в сети, чтобы увидеть ответ и вкладку консоли, чтобы проверить наличие ошибок JS. Затем вернитесь с дополнительной информацией :) –