我在javascript AJAX中遇到了问题

时间:2010-11-29 10:39:31

标签: ajax

文本文件的内容未显示在div标签

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript">
    function loadXMLDoc() 
{
    debugger;
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()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","D:\Misc\LearningAJAX\ajax_info.txt",true);
xmlhttp.send();
}
</script>
</head>
<body>

<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>

</body>
</html>

2 个答案:

答案 0 :(得分:0)

而不是

xmlhttp.open("GET","D:\Misc\LearningAJAX\ajax_info.txt",true);

尝试

xmlhttp.open("GET","file:///D:/Misc/LearningAJAX/ajax_info.txt",true);

...但请注意,使用加载了file:// URL的文档中的ajax并重新获取file://资源,并非所有可靠的跨浏览器。如果您正在尝试使用工作站学习Web开发,最好在其上安装Web服务器。有许多Web服务器(不仅仅是Apache)将在桌面计算机上运行。

答案 1 :(得分:0)

由于安全原因,浏览器不允许您对其他域或任何本地资源上的资源进行AJAX调用。 所以为了让你的例子工作,你必须a)。将脚本上载到Web服务器并将链接更改为ajax_info.txt为绝对或相对OR b)。从localhost运行脚本。

类似的东西:

xmlhttp.open("GET", "./data/ajax_info.txt", true);