ajax - Colfdfusion循环状态更新Ajax

标签 ajax loops coldfusion

我在 Coldfusion 中有一个循环,它将运行很长时间;大约2-4分钟。

我想在每次循环运行时显示状态更新。

循环:

<cfloop index="i" from=1 to=70>
    <cfset allHtmlFiles=getThirdXml.XmlRoot.XmlChildren[i].XmlChildren[1].XmlText>
    <cfset ArrayAppend(seekurl, allHtmlFiles)>
</cfloop>

负责显示数据的循环:

<cfloop index="loopcount" from=1 to=92>

    <cfset checkThisUrl = #seekurl[loopcount]#>
    <cfset completeUrl ="http://myurl.com/?ids=#checkThisUrl#">
    <cfhttp result="get" method="get" url="#completeUrl#">      
    <cfset nieuw =deserializeJSON( get.filecontent )>

        <cfoutput>
           <tr>
                <cfif nieuw[checkThisUrl].id IS NOT 0>
                    <td>#nieuw[checkThisUrl].id#</td>   
                </cfif>

                <cfif isDefined("nieuw[checkThisUrl].shares")>
                    <td style="text-align: right">#nieuw[checkThisUrl].shares#</td> 
                </cfif>
            </tr>
        </cfoutput>
</cfloop>

如何在每次运行时完成 Ajax 更新?

最佳答案

我的方法是使用唯一 ID(如 UUID)将迄今为止的进度写入数据库。然后,您可以使用 AJAX 轮询不同脚本来获取脚本的进度。

数据库表可能如下所示:

InsertedOn        | Data           | UUID
2011-02-12 13:01  | MyProcessData1 | MyUUID1
2011-02-12 13:02  | MyProcessData2 | MyUUID1
2011-02-12 13:03  | MyProcessData3 | MyUUID1
2011-02-12 13:10  | MyProcessData1 | MyUUID2
2011-02-12 13:11  | MyProcessData2 | MyUUID2
2011-02-12 13:12  | MyProcessData3 | MyUUID2

例如:

  1. 通过 AJAX 请求启动上述过程。该请求将作为线程启动上面的代码(因此它会立即返回)并返回代表该请求的 UUID 值
  2. 上述过程将使用每个条目的 UUID 将进度写入数据库表
  3. 每隔几秒使用 AJAX 使用不同的脚本进行轮询,使用 UUID 值查找到目前为止的进度

也许还有其他方法!

希望有帮助。 夏兰

关于ajax - Colfdfusion循环状态更新Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4990523/

相关文章:

javascript - 如何单击并编辑内联元素

c - 如何在循环中连续打印变量并在 linux 下的 C 中按一下转义键终止?

java - 如何对 int[] 数组求和

xml - 使用 CFSCRIPT 获取 xml 属性

ajax - 使用 SSL 通过 NginX 安装 AjaxTerm

java - AJAX 不会动态更改我的 JSP?

java - 循环TextView并设置大小

javascript - 如果用户单击后退按钮,我该怎么做才能防止出现咆哮消息

java - 将 java-ee WAR 部署到 ColdFusion 服务器(对于混合 Java - ColdFusion 应用程序)

javascript - PHP 通过 Ajax 为来自 Javascript "JSON.stringify"的对象保存在 MySQL 中?