我有一个代码,用于在输入值更改时加载文本文件:
function ch_name_registration_load_onchange()
{
for(var i=1;i<11;)
{
for(var j=2;j<11;)
{
temp='ch_name_registration_'+i+j;
el = document.getElementById(temp);
el.innerHTML='';
j++;
}
i++;
}
var page;
switch(ch_name_registration_value)
{
case 'A':
page=1;
break;
case 'B':
page=2;
break;
case 'C':
page=3;
break;
case 'D':
page=4;
break;
case 'E':
page=5;
break;
case 'F':
page=6;
break;
case 'G':
page=7;
break;
case 'H':
page=8;
break;
case 'I':
page=9;
break;
}
var count=0;
count = parseInt(count,10);
var xmlhttp;
var temp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
var el
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var arr = [];
arr = xmlhttp.responseText.split("\t");
for(var i=1;i<11;)
{
for(var j=2;j<11;)
{
temp='ch_name_registration_'+i+j;
el = document.getElementById(temp);
el.innerHTML = arr[count]; //display output in DOM
if(el.innerHTML =='undefined')
el.innerHTML='';
count=count+1;
j++;
}
i++;
}
}
}
xmlhttp.open("GET","CHNAME"+page+".txt",true);
xmlhttp.send();
}
当我用记事本更改1个文件的内容并在浏览器中重新加载时,有时它会正常工作,有时会加载旧文件。我不知道为什么它加载旧文件而不是当前文件。
答案 0 :(得分:0)
这肯定是一个缓存问题。
如果要强制浏览器始终重新加载txt文件,常用的技巧是生成唯一的URL。例如:
xmlhttp.open("GET","CHNAME"+page+".txt?_ts="+new Date().getTime(),true);