1

我尝试在不刷新 [AJAX ...] 的情况下重新加载页面,但似乎没有工作:/

function refresh() {
   link = document.location;
   xmlhttp=new XMLHttpRequest();
   xmlhttp.onreadystatechange=function() {
      if (xmlhttp.readyState==4 && xmlhttp.status==200) {
         document.getElementsByTagName('table').innerHTML=xmlHttp.responseText;
      }
   }
   xmlhttp.open("GET",link,true);
   xmlhttp.send();
}

有谁知道怎么了?

4

1 回答 1

0

不要使用innerHTML,它是一种专有的Microsoft Jscript 方法,不能正确注册DOM。例如,如果你用它来导入一个带有 ID 的元素,它不像把王冠戴在王后的头上,更像是把尸体扔在桥上,你可能见过也可能没见过,很可能没有。坚持将重要节点与 AJAX 一起使用,您的 AJAX 加载内容将可靠地工作。另外代码不是文本,不要使用 responseText,使用 responseXML。然后不必重新请求相同的内容,您可以简单地取消隐藏已经在 DOM 中的图层,除非您希望内容在过去 X 秒内已更新,在这种情况下,您可以删除元素并重做AJAX 请求。请参阅我的视频以进行视觉演示...

http://www.youtube.com/watch?v=-iVebYrrz9U

于 2012-07-02T11:01:17.263 回答