多个 ajax 请求调用。

Posted

技术标签:

【中文标题】多个 ajax 请求调用。【英文标题】:Multiple ajax request calls. 【发布时间】:2013-01-11 14:53:42 【问题描述】:

我正在尝试获取正在运行的请求的状态,并在第一个请求运行时在页面上更新它。但在请求运行时它不会更新,它只会在开始和结束时更新。怎么了?

这是我的代码:

函数 get_remote() $.ajax( url: "html->url(array('action'=>'getstatus','test')) ?>", 成功:功能(响应) $("#info").html(响应); console.log('ok'); 如果(响应!='完成') setTimeout("get_remote()", 10); ); $(函数() $('#initimport').click(function() get_remote(); $.ajax( url: "Html->url(array('action'=>'initimport'))?>", 成功:函数() console.log('成功', this); ); 返回假; ); );

【问题讨论】:

【参考方案1】:

好的,这就是我要尝试的方法,我认为您需要一种更好的方法来记录时间。我不确定你现在在做什么来测试时代,但这是一个好方法。

如果您还没有这样做,请获取适用于 Firefox 的 Firebug。

打开 Firebug 并转到 net 选项卡。确保启用它。

当您单击每个按钮时,您应该会看到每个请求。如果您单击每个按钮,则在上一个请求结束之前您不会看到下一个请求开始,那么这告诉我 javascript 有问题。但是,我猜您应该将每个小节的开头相隔 1 秒。这样做,让我们知道你看到了什么。

编辑

我想我发现了你的问题。我猜你在 php 中使用 sleep 函数。 sleep 函数为当前会话休眠。如果您打开 3 个选项卡并输入 ajax url,您会注意到相同的行为。 5、10 和 15 秒完成每个选项卡。我尝试使用谷歌搜索并与其他人发现相同的结果。这可能是因为 PHP 并不是真正的多线程。我建议使用不同的框架。

【讨论】:

非常感谢,我的 php 代码有问题......我在 php 中使用了会话,在删除会话变量并使用简单文件存储之后......它可以工作

以上是关于多个 ajax 请求调用。的主要内容,如果未能解决你的问题,请参考以下文章

asp.net mvc 4控制器并行执行多个ajax调用

多个异步请求调用一个回调函数

csharp 创建一个从AJAX POST请求调用的Web API,它在对象中传递多个值

jquery 多个ajax()请求。

多个 Ajax 调用 liferay portlet

为多个页面定义和调用自定义 AJAX 函数不起作用