1

我有一些非常复杂的基于 PHP/MySQL 的 AJAX 例程,它们在我的应用程序的某些点运行。我经常遇到的问题是,当 AJAX 例程仍在运行时,用户浏览远离基本页面,并且当场终止 XHR 请求并出现错误。

也许这是客户端与服务器端的问题?我是否需要采用更耗时的 AJAX 例程并将它们作为主脚本的一部分?也许有一种方法可以在我尚未找到的任何 AJAX 例程运行时暂停所有浏览?我知道我总是可以抛出一个“加载/等待/去拿三明治”对话框,但我发现这些非常烦人,我的用户也会如此。

任何帮助/建议/理念表示赞赏。

4

2 回答 2

1

您不能暂停浏览本身,但您可以在整页阴影顶部咳出一个看起来不错的“等待,加载”块,警告用户事情正在发生。那,或者通过javascript禁用页面上的每个href,这是不可取的。:)

除此之外,您无法控制客户端。

PS:如果“对话”是指警报,请立即用火杀死那个想法。

于 2013-07-08T13:11:42.017 回答
0

我认为等待很长时间才能得到响应的请求击败了“幕后”通信的 ajax 概念。

我建议您将您的操作拆分为命令(“请执行此操作”)和状态(“您完成了吗??”)。这样你可以在服务器完成它的事情时更新页面,而不是无缘无故地保持请求通道(这也有利于并发用户支持,如果每个访问者你很快就会用完将保持您的连接很长时间)。

于 2013-07-08T13:14:02.487 回答