提问人:Jin Yong 提问时间:5/15/2009 更新时间:3/14/2014 访问量:970
是否可以让 2 个 JQuery-ajax 同时为同一页面工作?
Is it possible for 2 JQuery-ajax working at the same time for the same page?
问:
我尝试同时运行 2 个 JQuery-ajax,但似乎总是在第二个 JQuery-ajax 之前完成第一个 JQuery-ajax。只是徘徊,是否有可能让 2 个 JQuery-ajax 同时为同一个页面工作?
例如:
我创建了一个页面,允许用户将一批记录插入数据库,并且在同一页面上,它有一个表格来显示数据库中的所有数据。
我使用 setInterval 调用一个函数并每 5 秒使用 JQuery-ajax 检索一次数据。检索到的数据将显示在屏幕上,这意味着这些数据将在屏幕上每 5 秒更新一次。
当我按下同一页面中的进程按钮以使用 JQuery-ajax 将一批记录插入数据库时(完成该过程可能需要 2 分钟)。此时,屏幕只能在插入过程完成后更新屏幕上的显示数据,即使我设置了 setInterval 以每 5 秒使用 JQuery-ajax 检索一次数据。
有谁知道这里出了什么问题?或者我可以提交 2 个 JQuery-ajax 并同时完成他们的任务吗?
答:
Ajax 中的 A 代表异步。所以实际上,几乎根据定义,您应该能够同时运行多个请求。(逻辑通量)
这是一篇博文,对此事进行了一些讨论。
浏览器对每个服务器有两个 http 连接的限制,这可以在 firefox 的 about:config 中更改,也可以在 Windows 注册表中更改(不确定在哪里)
在您的例子中,数据库服务器可能阻止了读取请求,因为正在进行写入事务,从而锁定了表。
我遇到了同样的问题,但使用的是 JavaScript。我有两个异步 $.ajax() 实例运行过一次,但第一个实例在“success: window.location = ”www.google.pl“;
如果第一个实例完成,它会尝试重定向到新位置。但二审仍在工作。
这就是这个错误的原因。
评论