使用JQuery中的帖子更新Django中的街机风格记分板
我很难决定如何做到这一点,同时避免并发性等潜在问题 JQuery使用JQuery中的帖子更新Django中的街机风格记分板,jquery,django,http,Jquery,Django,Http,我很难决定如何做到这一点,同时避免并发性等潜在问题 JQueryPOSTs中的一个游戏Score到Django中的一个端点。目标是只存储和显示前15名的分数,并最好地模拟传统街机游戏的行为 该行为应将新分数与现有分数进行比较,并且仅在新分数进入记分板时询问用户名,并取消其最低分数 因此,以下是我对如何实现这一点的一些想法(我也不确定哪些Django函数和类是合适的,因此我非常感谢您的帮助): 方法1: JQuery以一个POST,data={“score”:[someNumber],“name”
POST
s中的一个游戏Score
到Django中的一个端点。目标是只存储和显示前15名的分数,并最好地模拟传统街机游戏的行为
该行为应将新分数与现有分数进行比较,并且仅在新分数进入记分板时询问用户名,并取消其最低分数
因此,以下是我对如何实现这一点的一些想法(我也不确定哪些Django函数和类是合适的,因此我非常感谢您的帮助):
方法1:
POST
,data={“score”:[someNumber],“name”:“False”}
开始,对于Django中的一个单独的url端点,我们会说url(r'^scoreboard$,scoreBoardView)
,所以,$.POST(“url.com/scoreboard”,data,function(Response){if Response==…;}
name
的值进行分支,并在从帖子中获取score
的值后分配变量newScore
。(我不太确定哪些Django方法将POST传递并解析到视图中。)newScore
的值与现有分数进行比较,并返回True
或False
响应,具体取决于分数是否会排名。(我还在考虑做这件事的最佳方法:我的想法是,我按值对现有分数进行排序,将新分数与最低值进行比较,如果它更大,我可以删除并替换最低分数,并仅在GET请求时对分数进行排序)POST
,该POST既有名称也有分数(data={“score”:[someNumber],“name”:“[someName]”}
,它删除排名最低的分数,并在数据库中创建一个新的分数
条目谢谢。我建议至少使用服务器端版本。客户端可以很容易地进行操作,并且可以将无效分数发布到游戏中 如果您从服务器向客户端请求分数,则至少有一个优点,即不必向服务器发送低于列表中最低分数的分数请求
但是,由于分数可以实时更新,因此您仍然需要服务器端测试,以查看分数是否有效。我建议至少使用服务器端版本。客户端可以轻松操作,并且可以将无效分数发布到您的游戏中 如果您从服务器向客户端请求分数,则至少有一个优点,即不必向服务器发送低于列表中最低分数的分数请求
但是,由于分数可以实时更新,因此无论如何,您都需要进行服务器端测试,以查看分数是否有效。我不会执行这两项操作 我建议你返回前15名的结果(不管它是否有你的分数)作为帖子的结果。假设有15分130分、120分、100分、97分…80分,然后你发布了76分。不管怎样,它都会返回相同的前15分。如果你发布的分数将取代前15分之一,你应该将其作为分数保存到数据库中(我建议跟踪所有分数,除非你的磁盘空间严重不足),然后返回前15名,其中包括你的新分数
希望这有帮助!我不会做这两件事 我建议你返回前15名的结果(不管它是否有你的分数)作为帖子的结果。假设有15分130分、120分、100分、97分…80分,然后你发布了76分。不管怎样,它都会返回相同的前15分。如果你发布的分数将取代前15分之一,你应该将其作为分数保存到数据库中(我建议跟踪所有分数,除非你的磁盘空间严重不足),然后返回前15名,其中包括你的新分数
希望这有帮助!所以,我已经考虑过了,这个回答有点不完整。数据库有15个分数。根据我所寻找的街机风格排行榜行为的类型,当分数被发布到数据库并从前15名中剔除时,新的分数必须要求首字母。在这一点上,我需要有一个默认值输入的名称,以防客户端选择不输入。我仍然认为,对服务器的来回发布和响应会更好地模拟这种行为,但每个请求的并发性都会成为一个更大的问题。因此,我考虑过这一点,并且,此响应有点不完整。数据库有15分。基于arcade st的类型我正在寻找的yle排行榜行为,当分数被发布到数据库并淘汰前15名之一时,新分数必须要求首字母。此时,我需要输入一个默认名称,以防客户端选择不输入。我仍然在想,对服务器的来回发布和响应会模拟这种行为,是吗但是并发性在每个请求中都会成为一个更大的问题。