xmlhttp.open(" GET"," ajax_info.txt",true):我错过了什么?

时间:2014-09-22 08:26:52

标签: ajax

根据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>

6 个答案:

答案 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文件必须位于您自己的服务器上。