我是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>
答案 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>