在一个在线考试系统中,我如何处理考试过去和剩余时间。
第一次,我设法解决这个问题,通过使用JavaScript来设置客户端计时器在考试网页的时刻,当学生进入考试页面并通过在该计时器的每个间隔中使用ajax通知服务器;所以我可以更新当前学生的考试时间。
一切看起来都不错,但是当一个好奇的学生在考试期间禁用浏览器中的JavaScript并在点击提交按钮之前重新启用它时,问题就会变得明显。因此计时器停止并且浏览器无法向服务器发送ajax请求。
处理这个问题的最好方法是什么?
在此先感谢。在asp.net中处理任务时间
3
A
回答
3
- 确保页面不禁用JavaScript(例如,通过只发送一个骨架和填充经过后续Ajax请求的实际内容)呈现
- 只要文件已被加载到发送一个Ajax请求启动一个服务器端的计时器作为客户端计时器
1
一个天真的办法是包括开始时间在你的网页的表单参数备份(和证明),然后计算基于持续时间在这个时候,但是这也受到好奇学生使用DOM编辑工具来改变这个值的影响。
您需要在应用程序中使用某种形式的持久性 - 可能是数据库。如果你坚持学生开始学习的时间,你可以在任何后续请求进来时使用这个值。
2
JavaScript可以在浏览器中被禁用,你不能做任何事情。
但是,您可以在某处(可能是数据库)记录纸张的开始时间,并在提交页面时(用户完成答复纸张后),获取问题纸张的持续时间回答。你知道提交论文需要多长时间。
给出一个宽限期,比如说+2分钟,如果所花费的时间多于分配的时间,则会显示一条消息,显示“再次尝试!下次!”。
相关问题
- 1. ASP.NET中处理长时间运行任务的单独服务
- 2. 处理长时间运行的任务
- 3. Asp.net mvc异步处理任务
- 4. 多任务处理:停止后台音频在特定时间
- 5. Django任务处理
- 6. 在Rails中处理循环任务
- 7. asp.net长时间运行的任务
- 8. 处理时间后的ASP.NET响应
- 9. hadoop jobtracker如何处理长时间运行的任务
- 10. 处理很长时间的耙子任务
- 11. 检票:如何处理长时间运行的任务
- 12. 如何处理aws上的django长时间任务
- 13. Linux的后台任务的最大处理时间
- 14. 使用RxJava处理长时间运行的任务
- 15. asp.net中的计时任务
- 16. 在Ant任务任务中处理PermGen错误
- 17. 在Task.WaitAll中处理取消的任务和任务例外?
- 18. 在Perl中进行多处理任务时出现问题
- 19. 在ASP.NET MVC中处理会话超时
- 20. 缓冲区任务处理
- 21. Rake任务:错误处理
- 22. iphone 3G多任务处理?
- 23. 处理并发任务
- 24. Java/.NET任务处理库
- 25. 如何处理ETL任务?
- 26. dask处理任务两次
- 27. 顺序处理任务
- 28. Windows服务处理时间问题
- 29. Sql处理与ASP.NET运行时处理
- 30. 使用线程队列管理长时间运行的数据处理任务