Я использую jQuizMe, плагин jQuery для тестов, и я хочу получить вопросы о тестах из базы данных. Поэтому я подумал, что мог бы использовать вызов ajax для извлечения вопросов и их обработки для имитации массива, подобного JSON. Затем я хотел бы взять эти AJAX responseData и сохранить их (в виде JSON-подобного массива) в переменной javascript.
Вот код:
$(document).ready(function() {
var quiz = new Array();
$.get("/base/GameList/GetGameQuestions/StatesAndCapitalsGame.aspx", function(data) {
quiz = data;
});
var options = {
intro: "Find out if you know which Capital is for which State.",
allRandom: true,
title: "State Capitals Quiz",
fxType: 1
};
var lang = {
praise: "Great job, right!"
};
$("#quizArea").jQuizMe(quiz, options, lang);
});
И возвращающиеся данные выглядят так:
{
multiList: [
{ ques: "What is the capital of Alabama?",
ans: "Montgomery",
ansSel: ["Hamptonville", "Ellenville", "Somerville"]
},
{ ques: "What is the capital of New Jersey?",
ans: "Trenton",
ansSel: ["Hamptonville", "Ellenville", "Somerville"]
}
]
};
Я думал, что это, вероятно, не будет работать правильно, потому что он просто присваивает этот ответ переменной quiz
в виде строки, но я надеялся, что вы все сможете направить меня в правильном направлении.
Спасибо!
EDIT:
Я решил это, используя то, что предложил Груо (в измененном виде). Всем спасибо за ваши предложения!
$(document).ready(function() {
function runQuiz(quiz) {
var options = {
quizType: "multiList",
intro: "Find out if you know which Capital is for which State.",
allRandom: true,
title: "State Capitals Quiz",
fxType: 1
};
var lang = {
praise: "Great job, right!"
};
var stuff = new Array();
stuff = eval('(' + quiz + ')');
$("#quizArea").jQuizMe(stuff, options, lang);
}
$.get("/base/GameList/GetGameQuestions/StatesAndCapitalsGame.aspx", function(data) {
runQuiz(data);
});
});