AJAX代码无法正常工作

时间:2012-12-20 03:36:08

标签: ajax

我是AJAX的新手,并试图在下面的代码片段中运行它,但它不起作用...... Ajax_info.txt文件位于我的本地驱动器中。

<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc()
{
var xmlhttp;
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","c:/python27/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>

3 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。我删除了if (xmlhttp.readyState==4 && xmlhttp.status==200),效果很好。

答案 1 :(得分:0)

通常,由于安全问题,浏览器不会打开本地文件。根据浏览器的不同,我认为如果引用HTML文件也在本地加载,它可能会打开它,因为从技术上讲,它将位于同一个域中。通常,在使用AJAX时,您将在Web服务器上使用文件(即使Web服务器是本地托管的)。无论如何,如果它确实有效,您将从本地文件收到状态0,状态200。状态200是HTTP协议状态,不会为本地文件返回,因为它没有通过HTTP加载。

答案 2 :(得分:0)

请参阅此代码并运行 你必须给出像这样的参数

    xmlhttp.open("GET","?c:/python27/ajax_info.txt",true);

告诉我你要在div中显示什么

                <!DOCTYPE html>
            <html>
            <head>
            <script>
            function loadXMLDoc()
            {

            var xmlhttp;
            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)
                {

                var str = xmlhttp.responseText
                alert(str)
                document.getElementById("myDiv").innerHTML="change";
                }
              }
            xmlhttp.open("GET","?c:/python27/ajax_info.txt",true);
            xmlhttp.send(null);
            }
            </script>
            </head>
            <body>


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