我正在使用jQuizMe,用於測驗的jQuery插件,我想從數據庫中獲取測驗問題。所以我認爲我可以使用ajax調用來獲取問題並處理它們以模仿類似JSON的數組。然後,我想要獲取該AJAX responseData並將其作爲一個類似JSON的數組存儲在一個JavaScript變量中。如何通過C#AJAX將數據返回給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
變量作爲一個字符串,但我希望你們都可以指引我在正確的方向。
謝謝!
編輯: 我通過使用Groo建議(修改後的形式)解決了這個問題。感謝大家的所有建議!
$(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);
});
});
哇這很好,謝謝大修。錯誤事件中的警報現在顯示出存在「無效的JSON」錯誤。任何想法是什麼導致我的JSON無效? 是否需要將其作爲'quiz = {// data};' 發送回來我目前正在將它作爲'{// data}發送;'' – samandmoore 2010-07-15 17:40:02