VBScript(经典ASP)和多个ajax并排调用

时间:2011-10-24 16:33:23

标签: ajax vbscript asp-classic timeout

我有一次连接数据库的ajax调用,在数据库中设置一个标志,等待查找标志的其他进程创建一个文件。

直到文件在服务器上创建,ajax一直在等待。创建文件后,ajax会读取文件并显示内容。

现在的问题是,有时创建文件的后端进程陷入套接字问题,并且从未创建过该文件,但是ajax会在这种情况下继续等待,只有在超时时才会出现超时,

我想要显示一个停止请求按钮,它可以在超时很长时停止当前的ajax请求,并且用户可能希望在超时之前停止它。

这是我尝试过的,我修改了代码,它一直在寻找文件的存在,并添加了一个会话变量检查,就像Session(“AbortCheck”)= true然后从脚本中退出一样。

并放置另一个ajax调用以更新sessin变量,以便在脚本找到session = true时循环,它将立即停止请求。

在调试时我发现我的新ajax请求更新会话变量实际上只在第一个ajax完成时执行。因此,它永远不会停止用户请求停止请求。

有人能让我知道如何停止在用户输入上运行ajax(需要时间)吗?

由于

2 个答案:

答案 0 :(得分:0)

也许你可以在AJAX脚本中实现一些错误管理,而不是让用户管理它。

            'Try to open the socket here

            on error resume next

            if err<>0 then
               Response.Write("1")
            else
               Response.Write(fileContent)
            end if      

然后,如果AJAX脚本返回1,则调用者脚本会将错误通知给用户。

答案 1 :(得分:0)

我已经通过从服务器端删除循环来连续检查文件来修复服务器端执行,并在js文件中放置一个循环以重新检查相同,并且对于握手,如果在服务器上找不到文件,我通过消息等待ajax和另一个从jquery中止检查的标志,这解决了这个问题。