我正在尝试使用简单的HTML页面处理文本文件在同一目录中,但它不想工作(即无响应按钮)。我确实看了很多例子,但没有一个能够解释这个问题。文本文件在同一目录中,我尝试过绝对路径和相对路径。是否有可能由于我的orignation和请求位置是相同的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>
更新剪切和粘贴时更正的错误。不工作我的意思是按钮什么都不做。我看过其他例子,但似乎都没有。当我尝试从我的驱动器运行但从网页上工作。我没有服务器,但我只使用文本,所以除此之外我不需要任何东西。
答案 0 :(得分:1)
必须使用HTTP调用加载文件的内容,因为xmlhttp.send()
方法调用服务器。检查xmlhttp.open("GET","\test.txt",true);
方法签名是否期望second parameter as an URL to the server
和first argument specify the HTTP method (GET/POST)
从您运行的此页面中文本文件的位置是什么,您的代码将尝试从同一目录加载它。
答案 1 :(得分: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();
}