2

我有一个使用 AJAX 加载 2 个下拉菜单的页面。然后它加载第三个 AJAX,加载时间可能超过 30 秒。(慢 SQL 查询)。

当用户从 2 个下拉列表中选择项目时,再次触发第三个慢 AJAX 以列出结果。

首次加载时一切正常。但是,如果我刷新页面,或者如果用户在第三个 ajax 仍在加载时选择了不同的选项,则页面会挂起,直到第三个 ajax 被加载。

我已经尝试.abort()加载,但这似乎没有帮助。浏览器在加载 ajax 1&2 和 3 之前等待加载中止的文件。

我添加了中止,onbeforeunload但这无助于页面刷新问题。

我已经使用纯 JavaScript 和 jQuery 进行了尝试,但得到了相同的结果。

服务器是 IIS6,XML 输出来自 asp 页。

有没有办法解决这个问题?

4

1 回答 1

0

使用 jQuery 中止 Ajax 请求

这应该可以帮助您中止 ajax 调用。只需检查您实际调用的是哪个 ajax 调用 abort() 函数。

在旁注中,只需检查您的浏览器是否由于系统中运行的其他进程而挂起。因为,每个被触发的 ajax 请求都会启动一个 db 查询,这也可能会给你一种悬而未决的感觉。

于 2012-12-28T12:08:29.783 回答