等待时AJAX同步请​​求和操作

时间:2011-10-28 10:25:13

标签: javascript ajax asynchronous synchronization

我有ExtJS客户端程序,它使用同步AJAX与服务器通信。超过95%的响应在少于1秒的时间内传入,但在少数情况下服务器可以在10秒或更长时间内执行命令。这就是为什么我需要一些机制可以告诉用户这不是一个错误(“请等待”形式)

因此。我需要像

这样的东西
  1. 发送请求;
  2. setTimeOut('显示加载形式',2秒);
  3. 等待回复
  4. 关闭加载表格
  5. 流程响应。
  6. 在等待同步AJAX响应时是否有某种方法可以执行某些功能?

    P上。 S.我使用同步因为遗留,没有办法纠正它(最好的方式 - 超过6个月的工作)。

2 个答案:

答案 0 :(得分:1)

没有这样的方法,但可以通过在异步请求进行时挂钩所有事件来实现...

答案 1 :(得分:0)

是的,你可以。它被称为异步 jax。这意味着在您执行HTTP请求时,您可以执行其他操作。

但是,使用 synchronous jax,你不能这样做。

JavaScript是单线程的。

这意味着同步ajax请求将阻止您的唯一线程。

您可以做的最好的事情是在每个 sjax请求之前显示加载屏幕,并在每次请求后删除它。