在ColdFusion中加载查询时有一个加载gif

时间:2014-02-19 15:19:34

标签: javascript ajax coldfusion loading

我已经在这里看到了几个类似的问题,但没有一个足够接近我想要的实际上有答案。

我有一个CF页面。生成大部分页面的查询具有潜在的可能性,具体取决于用户,并且我们会暂时盯着空白页面,认为它没有响应。

基本上,我的任务是在页面上加载各种各样的gif,直到它准备就绪,以免用户认为它已经崩溃。

  1. 我已经尝试了CFFLUSH方法,而且它没有按预期工作(我们使用的是IE9和IIS,显然有些设置不能很好地与彼此)它也离开了'#34; loading"主页加载后,屏幕上的文本/图像。我想让它在页面加载后消失。

  2. 我无法使用jQuery

  3. 我无法使用原生Ajax,而不能使用CFAJAX调用等方式访问本地Ajax。

  4. 这里的其他开发者建议像在其他地方一样使用CFWINDOW来检查会话是否超时等,但我还没弄清楚怎么样。如果有人可以指导我,我会向那些人开放。

  5. 思想?

2 个答案:

答案 0 :(得分:1)

CFDIV。

另一名开发人员绞尽脑汁,因为他说他知道他之前曾在某处做过这件事。最后,他找到了它并且它是cfdiv。

基本上,你接受“违规”(即:持久)代码并将其剪切成另一个文件。然后,在头部添加<cfajaximport>,然后在代码放置的位置添加:

<cfdiv id="divID" name="divName" bind="url:pageWithCode.cfm?(anyparameters)" bindonload="true" />

并确保将文件中的参数称为“url”。这一切都很完美!

感谢大家的帮助!

答案 1 :(得分:0)

也许我错过了一些东西,但答案对我来说似乎很简单。只需吐出页面,执行查询和显示结果的页面。执行查询的页面还可以包含实际格式。下面是一个简单的例子。


<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<div id="body" style="width:100px">loading statement or loading images</div>
<script>
function load_url(url) 
{
    var obj;
    if (window.XMLHttpRequest) obj = new XMLHttpRequest();
    else if (window.ActiveXObject) obj = new ActiveXObject("Microsoft.XMLHTTP");

    if (obj !== null) 
    {
        obj.onreadystatechange = function() 
        {
            if (obj.readyState === 4) 
            {
                var response = obj.responseText;
                alert(response);
                document.getElementById('body').innerHTML = response;
            }
        };

        obj.open("GET", url, true);
        obj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        obj.send();
    }
}
load_url('/loadActualdata.cfm?timestamp=' + new Date().getTime().toString());
</script>
</BODY>
</HTML>

loadActualdata.cfm上的HTML

<table style="width:100%;border:1px solid red" border="0" cellpadding="0" cellspacing=""0">
 <tr>
  <td><b>test</b></td>
 </tr>
</table>