即使在页面刷新时,AJAX长时间加载也会挂起
问题描述:
我有一个加载了AJAX的2下拉菜单的页面。然后它加载第三个可能需要30秒才能加载的AJAX。 (慢SQL查询)。即使在页面刷新时,AJAX长时间加载也会挂起
当用户从2个下拉列表中选择项目时,再次触发第三个缓慢的AJAX以列出结果。
所有在第一次加载时工作正常。但是,如果我刷新页面,或者如果用户在第三个Ajax仍在加载时选择其他选项,则该页面将挂起,直到加载第三个Ajax。
我试过.abort()
的负载,但这似乎没有帮助。在加载ajax之前,浏览器等待中止文件加载1 & 2和3.
我添加了中止到onbeforeunload
但这并不有助于页面刷新问题。
我试过这个使用纯JavaScript和jQuery,但得到相同的结果。
服务器是IIS6,XML输出来自asp页面。
有什么办法可以解决这个问题吗?
答
Abort Ajax requests using jQuery
这会帮助你在中止Ajax调用。只需检查哪个ajax调用了你实际调用的abort()函数。
在附注中,只需检查您的浏览器是否因系统中正在运行的其他进程而挂起。因为每一个被触发的ajax请求都会启动一个数据库查询,这也可能会给你一种悬而未决的感觉。
看起来像你需要找到一种方法来中止SQL查询,而不是AJAX ..因为这是什么导致放缓... –