我最近遇到了一些问题。让我深入解释我想要做的事情。
现在我有一个通过<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>