2016-08-01 170 views
1

我知道我可能只是错过了一个简单的东西,正是在我的鼻子下面,或者可能根本不了解ajax ......但是我有一个问题 - 代码的这种简单的安宁不起作用,但它来自w3schools,它是ajax工作的最简单的例子。 有人可以帮我吗?ajax简单的代码不工作

<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 
<div id="demo"><h2>Let AJAX change this text</h2></div> 
 

 
<button type="button" onclick="loadDoc()">Change Content</button> 
 

 
<script> 
 
function loadDoc() { 
 
    var xhttp = new XMLHttpRequest(); 
 
    xhttp.onreadystatechange = function() { 
 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 
 
     document.getElementById("demo").innerHTML = xhttp.responseText; 
 
    } 
 
    }; 
 
    xhttp.open("GET", "ajax_info.txt", true); 
 
    xhttp.send(); 
 
} 
 
</script> 
 

 
</body> 
 
</html>

这里的 “ajax_info.txt” 文件:

text changed.

+0

“'ajax_info.txt”“本地文件?你在尝试'js'的哪个浏览器? – guest271314

+0

“ajax_info.txt”是一个位于与“index.html”相同的文件夹中的文件,它只包含以下内容: “text changed” 我试着在Chrome中 –

+0

您是否正在尝试'js' at问题'file:'协议?也就是说,是你在请求文件'file:/// path/to/folder/index.html'的页面上的地址? – guest271314

回答

0

如果您与文件打开文件浏览器://C:/协议你会得到一个交叉来源请求错误当试图加载'ajax_info.txt',原因是为了保护您的机器私人文件不被浏览器脚本读取。要解决这个问题,您需要使用协议http://,如果您将Web服务器安装到本地计算机(如WAMP或MAMP)上,您可以执行此操作。

此外,名为的文件ajax_info.txt需要与此HTML文件存在于同一目录中。否则,这个JavaScript AJAX调用将返回一个错误:/ajax_info.txt 404(Not Found)

+0

非常感谢! –