#javascript #json
#javascript #json
Вопрос:
Я пытаюсь извлечь некоторые данные json с помощью метода $.getJSON, и у меня это не работает. Я довольно новичок в js, поэтому буду признателен за любую помощь. Ниже, пожалуйста, найдите json.
[
{question: "What questions is it?",
choices: ["answewr1", "answer2", "answer3"],
correct:1},
{question: "What questions is it?",
choices: ["answewr1", "answer2", "answer3"],
correct:3},
{question: "What questions is it?",
choices: ["answewr1", "answer2", "answer3"],
correct:2},
{question: "What questions is it?",
choices: ["answewr1", "answer2", "answer3"],
correct:1},
{question: "What questions is it?",
choices: ["answewr1", "answer2", "answer3"],
correct:1}
];
И здесь вы можете найти файл скрипта
$(document).ready(function() {
var total_questions = 5;
var questions = [];
var questionNum = 0;
var questionTotal = questions.length;
var correctTotal = 0;
$('#testQuestion').hide();
$('#startQuizButton').click(function() {
$('#message').hide();
$('#startQuiz').hide();
$('#testQuestion').show();
$.getJSON('questions.json', function(data) {
$.each(data, function(index, item) {
$("#question").append(item);
});
});
questionDisplay();
});
function questionDisplay() {
$('#questionNum').text("Question " (questionNum 1) " of "
total_questions);
$('#question').text(questions[questionNum].question);
$('#choices').empty();
var choiceTotal = questions[questionNum].choices.length;
for (var i = 0; i < choiceTotal; i ) { //displays the answer
choices
$('#choices').append("<input type='radio' class='guess' name='guess'
value = " i " > " questions[questionNum].choices[i] " < br > ");
}
}
})
Комментарии:
1. В скрипте несбалансированные скобки.
2.
item
является объектом, поэтому$("#question").append(item)
не имеет особого смысла. Вам нужно преобразовать объект в HTML, который показывает вопрос и ответы.3. Это то, что
questionDisplay()
предполагается делать? вам нужно вызвать это из функции обратного вызова. И вам нужно установитьquestions
значениеdata
.