我在这里阅读了几篇文章,这些文章激发了我的解决方案,但是想知道我是否以正确的方式进行操作。使用jQuery捕获丢失的连接或丢失身份验证事件
我所做的是创建一个捕捉到一个jQuery的Ajax错误事件:通过另一个Ajax调用
$('body').ajaxError(function(xmlHttpRequest, ajaxOptions, error) {
if (!locked) CheckUserAuthentication();
});
然后CheckUserAuthentication()去试图检查认证仍然有效web服务。如果它返回一个需要重新登录的值,那么我会提示一个显示登录表单的模式框。如果ajax调用失败,那么假设互联网连接已经丢失是安全的,所以我会提示另一个显示消息的模块框和一个js循环,它们会间隔再次检查连接。
我首先关心的是,上面的事件代码实际上会重复触发自身,如果它达到第二个Ajax错误使其成为重复循环。所以我做了一个变量来设置布尔值是否锁定事件以防止这种情况。
我的问题:
1)我做得对吗?
2)如果是,那么我可以处理一个ajax异常,这样我就不需要再次触发.ajaxError事件了吗?
3)任何其他的想法,我在做什么很有效?
我感谢所有的帮助!