根据w3schools.com,XMLHttpRequest对象的open方法有三个参数: 方法 网址 3.一个布尔值,表示调用是否是异步的
其中一个示例使用了url参数的文本文件。我复制了代码并用自己的文件替换了文本文件,没有任何反应。我错过了什么?
这是我复制的代码:
<!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","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>
答案 0 :(得分:4)
你应该将它放在一些服务器中并尝试。因为我们在这里使用GET请求所以它需要服务器。我已经尝试将它放在wamp中为我工作。
答案 1 :(得分:1)
XMLHttpRequest是一个Http请求:O
它不叫XMLLocalFileRequest:)
尝试使用http://localhost/ajax_info.txt
作为网址..文件名本身不是网址。
答案 2 :(得分:1)
w3school服务器中的ajax_info.txt文件。这就是为什么你不能使用你的程序访问它。
看这个网址: [https://www.w3schools.com/js/ajax_info.txt]
您需要使用本地服务器。
答案 3 :(得分:0)
我使用xampp作为我的本地服务器,因此我将尝试解释此问题。如果您在google.com上使用其他本地服务器进行检查。
将文件放在本地计算机上安装的xampp(htdocs)文件夹中名为(jscalls)的文件夹中。然后拨打
本地主机/ jscalls / nameOfFile.html
现在,当您点击按钮时,它将获得指定ID的内容。
答案 4 :(得分:0)
您是否已将档案ajax_info.txt
放入目录?
我在目录中编辑了一个文件ajax_info.txt
,内容如下,效果很好。
<h1>AJAX</h1>
<p>AJAX is not a programming language.</p>
<p>AJAX is a technique for accessing web servers from a web page.</p>
<p>AJAX stands for Asyncronous JavaScript And XML.</p>
答案 5 :(得分:0)
出于安全原因,现代浏览器不允许跨域访问。
这意味着网页和它尝试加载的XML文件必须位于同一台服务器上。
W3Schools上的示例都是位于W3Schools域的所有开放XML文件。
如果您想在自己的某个网页上使用上述示例,则您加载的XML文件必须位于您自己的服务器上。