2016-08-01 77 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

非常感謝! –