【发布时间】:2011-12-14 07:07:00
【问题描述】:
我有一次 ajax 调用,它确实连接到数据库,在数据库中设置一个标志,并等待其他查找标志的进程创建一个文件。
在服务器上创建文件之前,ajax 一直在等待。创建文件后,ajax 会读取文件并显示内容。
现在的问题是,有时创建文件的后端进程陷入了套接字问题,并且从未创建过文件,但是 ajax 在这种情况下一直等待,只有在发生超时时才会超时,
我只想显示一个停止请求按钮,它可以停止当前的 ajax 请求,因为超时时间很长,用户可能希望在超时之前停止它。
这是我尝试过的,我修改了一直查找文件存在的代码,并添加了会话变量检查,例如 if Session("AbortCheck") = true then exitout from the script。
并放置另一个 ajax 调用来更新 sessin 变量,以便在循环中当脚本找到 session = true 时它会立即停止请求。
在调试时,我发现我的新 ajax 请求更新会话变量仅在第一个 ajax 完成时才实际执行。因此它永远不会在用户请求停止请求时停止。
谁能告诉我如何在用户输入时停止正在运行的 ajax(这需要时间)?
谢谢
【问题讨论】:
-
你使用的是原生 XMLHTTP 吗?
-
我正在使用它来获取 xml http 函数 GetXmlHttpObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } if (window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } 返回空值; }`
标签: ajax vbscript asp-classic timeout