Я застрял, и мне нужна ваша помощь, пожалуйста. Я создаю интерфейс для викторины. По какой-то причине серверная часть предоставляет 3 файла json. JSON1 дает мне категорию и заголовок (https://api.myjson.com/bins/nilct ). JSON2 дает мне вопросы (https://api.myjson.com/bins/1178p1). Возможные ответы JSON3 (https://api.myjson.com/bins/qhft1).
Мне нужно перебрать JSON1 и написать категории и заголовки. Прокрутите JSON2 и напишите вопрос для этого заголовка. Прокрутите JSON3 и напишите возможные ответы на каждый вопрос.
Это мой html-файл:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>quiz</title>
</head>
<body>
<div id="bigMain" class="hide">
</div>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="js/refactor3.js"></script>
</body>
</html>
Это мой файл JavaScript:
var request1 = $.ajax({
url: 'https://api.myjson.com/bins/nilct',
dataType: 'json',
type: 'get',
cache: false,
success: function(data) {
var key, jsoncount = 0;
for(key in data) {
if(data.hasOwnProperty(key)) {
jsoncount++;
}
}
$(data).each(function(index, value){
var categoryId = value.id;
var catCategory = value.category;
var catHeader = value.header;
var catOrderNum = value.question;
var getSectionPlace = document.getElementById('bigMain');
var maturidadeSection =
'<section id="' + categoryId + '">\
<div class="section-top">\
<p class="title optionsTitle '+ catCategory +' titleFor_'+ categoryId + '">\
' + catCategory + '\
</p>\
<hr class="hideOnMobile">\
<h1 class="top-title">'+ catHeader +'</h1>\
</div>\
<div class="section-bottom">\
And this is bottom div\
</div>\
</section>';
function makeSections(){
$( maturidadeSection ).appendTo( getSectionPlace );
}
makeSections();
});
}
}),
request2 = $.ajax({
url: 'https://api.myjson.com/bins/1178p1',
dataType: 'json',
type: 'get',
cache: false,
success: function(data) {
//console.table(data);
var key, jsoncount = 0;
for(key in data) {
if(data.hasOwnProperty(key)) {
jsoncount++;
}
}
$(data).each(function(index, value){
var questionId = value.id;
var questionText = value.question;
var questionOrderNum = value.orderNum;
var questionType = value.type;
var questionBelongsTo = value.category_id;
/**
* Get the place to put content inside sections and place it
*/
var getQuestionPlace = document.getElementsByClassName('section-bottom');
var questionToPlace = '<div class="question question' + questionBelongsTo + '">\
<p class="questionP questionId_'+questionId+'">\
' + questionText +
'</p>\
<ul id="questionId-'+ questionId +'" class="answerContainer">\
<li>TESTS</li>\
</ul>\
</div>'
function makeQuestions(){
$( questionToPlace ).appendTo( getQuestionPlace );
}
makeQuestions();
});
}
}),
request3 = $.ajax({
url: 'https://api.myjson.com/bins/qhft1',
dataType: 'json',
type: 'get',
cache: false,
success: function(data) {
var key, jsoncount = 0;
for(key in data) {
if(data.hasOwnProperty(key)) {
jsoncount++;
}
}
$(data).each(function(index, value){
var answerId = value.id;
var answerText = value.answer;
var answerOrderNum = value.orderNum;
/**
* Get the place to put content inside sections and place it
*/
var getAnswerPlace = document.getElementsByClassName('answerContainer');
var answerToPlace = '<li><input type="radio" name="'+ answerOrderNum +'" value="'+ answerText +'">\
'+ answerText +'\
</li>'
function makeAnswers(){
$( answerToPlace ).appendTo( getAnswerPlace );
}
makeAnswers();
});
}
});
Но это не работает, так как я не могу контролировать, что происходит в каком цикле, и у меня большой беспорядок.
Может ли кто-нибудь помочь мне со способом сделать это? И получить все данные из одного JSON невозможно.
Заранее спасибо!
}}),
непосредственно передrequest2 = $.ajax({
- person Jaromanda X   schedule 29.09.2019