在Javascript中关闭循环AJAX

时间:2015-01-19 05:43:25

标签: javascript html ajax

我最近遇到了一些问题。让我深入解释我想要做的事情。

现在我有一个通过<srcipt></script>标签运行javascript的html文件。我需要读取一个文件并将其保存为变量。然后使用&#34; orders&#34;类在html标记中打印出结果。 我通过这一行来做到这一点:document.getElementById("orders").innerHTML += "<p>This will add a new paragraph</p>"现在部分工作正在进行中。我将文本文件index.txt作为一个框架添加到页面中,并读取目录中的文件数(index.txt的写入在另一个脚本中完成。我知道它可以正常工作)。

现在这就是它变得有趣的地方,我将索引的数量打印到我的ID&#34; order&#34;这很有效。我还启动了一个遍历文件夹中每个文件的循环(那个丑陋的字符串丛),并将其添加为框架,就像我对第一个index.txt一样。再次这个工作,您可以检查我的浏览器中的HTML代码,我看到帧已添加。但是当我尝试打印出每个文本文件时没有任何反应。我可以在循环中调用ajax函数吗?是否需要很长时间才能及时更新html脚本?我应该把电脑靠在墙上吗?

感谢任何帮助!

这是我的剧本:

<div id="orders"> </div>
    <iframe id="frmFile" src="index.txt" onload="LoadFile();" style="display: none;"></iframe>

    <script type="text/javascript">
        var xhr = new XMLHttpRequest();
        var index;
        var print;
        xhr.open( 'GET', 'index.txt', true );
        xhr.onreadystatechange = function() {
            if( xhr.readyState == 4 ) {
                if( xhr.status >= 200 && xhr.status<300 || xhr.status == 304  ) {
                    index = xhr.responseText.split('\n');
                    document.getElementById("orders").innerHTML += "<p>"+index+"</p>";
                    for(var i = 0; i < index; i++){
                        document.getElementById("orders").innerHTML += "<iframe id="+"'"+"frmFile"+"'src="+"'"+"/Orders/order"+i+".txt"+"' onload="+"'"+"LoadFile();"+"'"+"style="+"'"+"display: none;"+"'"+"></iframe>";
                        xhrt = new XMLHttpRequest();
                        xhrt.open('GET','Orders/order'+i+'.txt',true);
                        xhrt.onreadystatechange = function(){
                            if( xhrt.readyState == 4 ) {
                                if( xhrt.status >= 200 && xhr.status<300 || xhr.status == 304  ) {
                                    obj = xhrt.responseText.split('^');
                                    document.getElementById("orders").innerHTML += "<p>"+obj+"</p>";

                                }
                            }
                        }
                    }
                }
            }
        }
        xhr.send();
    </script>

0 个答案:

没有答案