在Javascript部分,您可以看到分数的计算方式以及它在网站上的显示方式,但我希望得出的分数插入我的烧瓶应用程序。所以我可以将分数插入我的MySql数据库。抱歉我的英语不好。
使用Javascript:
// Computes score and returns a paragraph element to be displayed
function displayScore() {
var score = $('<p class="quizvraag">', {id: 'question'});
var numCorrect = 0;
for (var i = 0; i < selections.length; i++) {
if (selections[i] === questions[i].correctAnswer) {
numCorrect++;
}
}
score.append('You got ' + numCorrect + ' questions out of ' +
questions.length + ' right!!!');
return score;
}`
烧瓶:
@app.route('/quiz')
def quiz():
startquiz()
DbLayer = DbClass()
vragen = DbLayer.getQuizVraag()
list_vraag = [vragen]
print(vragen)
return render_template('quiztestjs.html', vraag=vragen, list_vraag=list_vraag)
MySql查询:
def setDataToDatabase(self, Score1):
# Query met parameters
sqlQuery = "INSERT INTO tbl_score (Score1) VALUES ('{param1}')"
sqlCommand = sqlQuery.format(param1=Score1)
self.__cursor.execute(sqlCommand)
self.__connection.commit()
self.__cursor.close()
答案 0 :(得分:0)
有多种方法可以执行此操作,具体取决于您熟悉的客户端中运行的“业务逻辑”的数量。
您可以使用XMLHttpRequest(Send POST data using XMLHttpRequest)通过JavaScript发回计算得分,并将其保存到您的数据库中。
但是,请考虑其影响,尤其是客户对决定测验结果和分数负全部责任这一事实。
玩家可能会在你的测验中作弊,因为他们拥有所有数据,或者他们可能伪造请求并只发送他们想要的任何分数。
在我看来,更好的方法是将问题提交给用户,以及决定服务器上是否正确或不正确,以及分数计算。
可能的实施可能有:
GET /quiz
- 提出问题
POST /quiz
- 提交答案,将结果呈现给用户,写出分数
同样,GET请求将呈现带有问题和答案的表单,并且该表单的提交操作将POST到相同(或不同,如果您愿意)URL,您可以在其中检索表单数据({{3 }})。
在提交并获得结果之前,客户不会与客户分享所有答案正确的信息。