Я Кишор, я делаю викторину для своего семестрового проекта, используя HTML, CSS и JavaScript. Как мне показать выбранное количество вопросов пользователю в соответствии с выбранной пользователем темой? Посмотрите ниже, это скриншот веб-страницы. Index.html Снимок экрана
В основном я хочу отображать вопросы пользователю в соответствии с темой и количеством вопросов



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если вы хотите использовать базу данных, вы также должны использовать бэкэнд. Если вы хотите полностью полагаться на javascript, просто используйте node js с экспрессом для бэкэнда, и я думаю, что Mongodb будет хорошим выбором для базы данных.
Я думаю, что MongoDB или NoSQL были бы хорошим выбором, если бы вы хотели создать серверную часть и использовать базы данных. Ваши данные не должны быть структурированы, только JSON.
Поскольку вы указали HTML, CSS и JavaScript, я предполагаю, что вы не используете серверную часть (только файлы .html, .css, .js). У вас может быть такая структура каталогов:
project-directory
|
|-- index.html
|-- script.js
|-- styles.css
|-- questions-subject-a.txt
|-- questions-subject-b.txt
|-- questions-subject-c.txt
А затем используйте запрос xhttp, чтобы получить данные текстового файла. Пример ниже:
function set(xhttp, hdl) {
xhttp.onreadystatechange = hdl;
}
function getFileData(filename) {
var file, xhttp;
var func = function () {
if (this.readyState == 4) { // check if the response is ready
if (this.status == 200) {
// the data was recieved
// this.responseText is the data taken from the file, do what you need with it
console.info(this.responseText);
}
if (this.status == 404) {
// data not found
}
}
};
if (filename) {
/* make an HTTP request using the parameter as the file name */
xhttp = new XMLHttpRequest();
set(xhttp, func); // set the handler
xhttp.open("GET", filename, true); // the request
xhttp.send(); // send the request
return 0;
}
}
Затем прочтите строку и получите вопросы.