我正在尝试使用JQTouch将数据库驱动的多选项式学习网站(用JSP编写)转换为iPhone应用程序。
如果我将所有Q& As加载到同一文件中的自己的div中,我可以使用链接到主题标签轻松链接和动画,例如:a class =“button”href =“#question22”
不幸的是,这不切实际。当前网站的逻辑工作需要调用许多动态生成的页面;我不能在同一个平面文件中将每个问题包含在自己的div中。
我如何动态(预)加载下一个问题(像AskQuestion.jsp这样的JSP页面?questionId = Kzhctand)然后在用户按下按钮后在应用程序中提供这个问题?
感谢您提供的任何帮助。
-Donovan
答案 0 :(得分:2)
我为我的闪卡系统做了类似的事情。 我有一个div用于当前卡片的“前面”和“后面”,当用户给出答案时,它会通过ajax,json和php的魔法加载下一张卡片。
以下是答案页面的相关部分。
<h2>Answer:</h2>
<div class="qna">
<p id="question2" class="qna">SomethingsNotWorking.</p>
<p id="answer2" class="qna">SomethingsNotWorking.</p>
</div>
<h2>Did you know it?</h2>
<a >Submit</a>
<BR><a href="#" onClick="javascript:sendCardInfo('Yes')" name="knewIt">Yes</a>
<BR><a href="#" onClick="javascript:sendCardInfo('No')" name="knewIt">No</a>
这是通过发送ajax查询来处理用户响应的函数。
function sendCardInfo(str){
//alert("sendCardInfo " + str);
$.ajax({
type: "POST",
url: "ajax.php",
data: "currentCard="+$(document).data('currentCard')+"¤tDeck="+$(document).data('currentDeck')+"&knewIt="+str,
dataType: "json",
success: function(data){
jQT.goTo('#home', 'swap');
// store the json response in the data object so it can be retrieved later.
$(document).data( "currentCard" , data.currentCard);
$(document).data( "currentDeck" , data.currentDeck);
$(document).data( "question" , data.question);
$(document).data( "answer" , data.answer);
// update the q and a divs with the current questions.
$('#question1').html( $(document).data( "question" ) );
$('#question2').html( $(document).data( "question" ) );
$('#answer2').html( $(document).data( "answer" ));
},
});
}
在后端,我有一个名为ajax.php的PHP页面,生成下一张卡为JSON。