-2

我正在尝试一个简单的 HTML 页面,文本文件位于同一目录中,但它不想工作(即按钮无响应)。我确实看过很多例子,但没有一个能说明这个问题。文本文件在同一目录中,我尝试过绝对路径和相对路径。是否有可能由于我的起源和请求位置是相同的 AJAX 会关闭。

    <!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc()
{
// code for IE7+, Firefox, Chrome, Opera, Safari
var xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","\test.txt",true);
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText
}
</script>
</head>
<body>

<div id="myDiv"><h2>By the power of AJAX!!!!!!!</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>

</body>
</html>

更新更正了剪切和粘贴的错误。通过不工作,我的意思是按钮什么都不做。我查看了其他示例,但它们似乎都不起作用。当我尝试从我的驱动器运行但从网页工作时。我没有服务器,但我只使用文本,所以除此之外我不需要任何东西。

4

2 回答 2

1

xmlhttp.send()当方法调用服务器时,必须使用 HTTP 调用加载文件的内容。检查xmlhttp.open("GET","\test.txt",true);方法签名是否期望second parameter as an URL to the serverfirst argument specify the HTTP method (GET/POST)
您正在运行的此页面中文本文件的位置是什么,您的代码将尝试从同一目录加载它。

于 2013-09-10T18:16:24.700 回答
0

我有同样的问题,我到处阅读,最后我得到了解决方案。唯一的区别是我使用的是本地服务器。解决方案是将所有目录放在服务器正在运行的目录之后,直到文件名。因此,服务器运行在“localhost/xampp/htdocs/project”中。这是我的代码。

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()
  {  alert(xmlhttp.status+" status"+"\n"+xmlhttp.readyState+" ready");
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {   alert(xmlhttp.responseText);
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }

xmlhttp.open("GET","views/seila.txt",true);
xmlhttp.send();
}
于 2013-11-21T21:37:14.820 回答