2

我是 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>
4

3 回答 3

0

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

于 2012-12-20T03:50:27.333 回答
0

我有同样的问题。我删除了if (xmlhttp.readyState==4 && xmlhttp.status==200)它,它工作得很好。

于 2012-12-20T03:38:41.800 回答
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>
于 2012-12-20T03:57:35.877 回答