多个 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 请求调用。的主要内容,如果未能解决你的问题,请参考以下文章