现在的位置: 首页 > 综合 > 正文

ajax中强制更新数据

2013年05月16日 ⁄ 综合 ⁄ 共 1751字 ⁄ 字号 评论关闭

<script language="javascript">
var xmlhttp = false;
========test.html=============

function createXMLHttpRequest()
{
 if (window.ActiveXObject)
  {
  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
 else if (window.XMLHttpRequest)
  {
  xmlhttp = new XMLHttpRequest();
  }
}

function startRequest(n)

var a=Math.round(Math.random()*1000);

var url = "data1.xml";
 createXMLHttpRequest();

 

 xmlhttp.open("GET",url,true);
//必须在open方法后调用下面这句才能强制更新
 xmlhttp.setRequestHeader("If-Modified-Since","0");
 xmlhttp.onreadystatechange = checkusername;

 xmlhttp.send(null);
}

function checkusername() {

 if (xmlhttp.readystate == 4){

  if (xmlhttp.status == 200){
  feedlist();

  }
 }
}

function feedlist() {

 var xmldoc = xmlhttp.responseXML;
 RemoveRow();

 for (var i = 0 ; i < 3; i++) {
 var xmltitle = xmldoc.getElementsByTagName("job")[i].firstChild.data;
 var xmllink = xmldoc.getElementsByTagName("salary")[i].firstChild.data;

 row1 = tb.insertRow();
    cell1 = row1.insertCell();
    cell1.innerHTML = xmltitle;
    cell2 = row1.insertCell();
    cell2.innerHTML = xmllink;
 }
}

function RemoveRow()
{
//保留第一行表头,其余数据均删除.
var iRows = tb.rows.length;
for(var i=0;i<iRows-1;i++)
{
tb.deleteRow(1);
}
}

function MyShow()
{
//2秒自动刷新一次,2秒取得一次数据.
var timer = window.setInterval("startRequest()",3000);
}
</script>
<html>
<body onload="MyShow()">
<p>
</p>
<table width="47%" height="23"border="0" cellpadding="1" cellspacing="0" id="tb">
<tr>
<td>Main Grabber</td>
<td>Backup Grabber</td>
</tr>
</table>
</html>

===========data1.xml====================

<?xml version="1.0" encoding="gb2312"?>
<employees>
     <employee name="Billgates">
          <job>Programmer</job>
          <salary>32768</salary>
     </employee>
     <employee name="王涛">
          <job>无业111游民</job>
          <salary>7005e</salary>
     </employee>
     <employee name="Big 中华">
          <job>哈尔滨CEO</job>
          <salary>16776500</salary>
     </employee>
</employees>

抱歉!评论已关闭.