gpt4 book ai didi

jquery - 使用 jQuery 捕获丢失的连接或丢失的身份验证事件

转载 作者:行者123 更新时间:2023-12-01 06:07:52 25 4
gpt4 key购买 nike

我在这里读了几篇文章,这些文章启发了我的解决方案,但想知道我是否以正确的方式做。

我所做的是创建一个捕获 jQuery ajax 错误的事件:

$('body').ajaxError(function(xmlHttpRequest, ajaxOptions, error) {
if (!locked) CheckUserAuthentication();
});

然后,CheckUserAuthentication() 对 Web 服务进行另一个 ajax 调用,尝试检查身份验证是否仍处于事件状态。如果它返回一个需要重新登录的值,我就会提示一个显示登录表单的模式框。如果 ajax 调用失败,则可以安全地假设互联网连接已丢失,因此我会提示另一个模式框,该模式框显示一条消息和一个 js 循环,该循环会每隔一段时间再次检查连接。

我首先担心的是,如果上面的事件代码到达第二个 ajax 错误,它实际上会重复触发自身,从而使其成为重复循环。所以我创建了一个变量来设置是否锁定事件的 bool 值以防止这种情况发生。

我的问题:

1)我做得正确吗?

2)如果是,那么我可以处理 ajax 异常,这样我就不需要锁定 .ajaxError 事件以防止重新触发吗?

3)还有其他比我正在做的更有效的想法吗?

感谢所有的帮助!

最佳答案

我已经实现了类似的东西。

我为 beforeSend 设置了 jQuery Ajax 选项,以发出 ajax 请求来查看用户是否仍然登录。如果没有登录,我使用 HTTP 基本身份验证。

HTTP 基本身份验证丑陋且蹩脚,但在所有浏览器中都具有出色的模态属性,可以在您尝试让用户登录时阻止原始 Ajax 事件停止运行。

HTTP 基本身份验证后,原始 Ajax 事件恢复。

<小时/>

查看 javascript 源文件,其中应该提供一些见解:http://bit.ly/g5jUes

关于jquery - 使用 jQuery 捕获丢失的连接或丢失的身份验证事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3554262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com