此系统在考试的时候是全屏的
该系统需要检测考生是否已经掉线,我就用jquery的$.ajax()方法进行轮询来检测,开发和测试的时候可以检测出用户掉线的问题。实际使用的时候,大概有400多个考生同时在线,只有2个考生出现了问题。问题的情况是考生已经掉线但系统没有提示。导致考生在表单里写了一大堆东西却无法提交。
这个问题快把我折磨疯了。根本没法测试,根本重现不了bug。webjquery测试
该系统需要检测考生是否已经掉线,我就用jquery的$.ajax()方法进行轮询来检测,开发和测试的时候可以检测出用户掉线的问题。实际使用的时候,大概有400多个考生同时在线,只有2个考生出现了问题。问题的情况是考生已经掉线但系统没有提示。导致考生在表单里写了一大堆东西却无法提交。
这个问题快把我折磨疯了。根本没法测试,根本重现不了bug。webjquery测试
url: url,
data: $("#form1").serialize(),
type: "POST",
dataType: "json",
cache: false,
success: function(data) {
// some code
},
error:tipDisconnect
});tipDisconnect是我提示掉线的一个函数,我请教一下IE有没有可能把post方法的ajax请求给缓存?
不知道你在ajax轮询的时候这1%的考生返回的是什么样的信息,不论任何情况,正确的返回只有一种,就算post到离线页面也不会获得正确的反馈信息。
所以我想知道那1%考生是如何发现无法提交的?点击没有反应?error没执行?还是点完直接提示成功?
有没有可能连接从最初就是无效的,因为连接总数超出了某些服务器端的限制?
如果问题一直无法重现,且客户端脚本能够确定有效,那就建议对脚本的具体行为进行记录,如:吊线前心跳状态,定期保存的请求提交了几次等等,客户端页面有没有被刷新,脚本有没有被重置等等可能对解决问题有帮助的信息。