Проблемы с извлечением данных JSON через jquery

#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 .