0
我想讓自己熟悉Ajax,因爲我需要不斷地使用它來工作。我正在通過W3Schools教程嘗試使用我的Apache2服務器。我在服務器上有一個名爲ajax_info.txt的文件(在/ var/www(ubuntu)下)。我打電話給它,並用螢火蟲我看到我得到一個很好的迴應(4 & 200),但它不輸出文件的內容到DOM。這裏的代碼:xmlhttp.responseText不輸出到innerHTML
<!DOCTYPE html>
<html>
<head>
<script>
var xmlhttp;
var url = "http://192.168.0.5/ajax_info.txt";
function loadXMLDoc(url, cfunc) {
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 = cfunc;
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
function myFunction() {
loadXMLDoc(url, function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
});
}
</script>
</head>
<body>
<div id="myDiv">
<h2>Let AJAX change this text</h2>
</div>
<button type="button" onclick="myFunction()">Change Content</button>
</body>
</html>
我不完全確定它是什麼我做錯了。 w3schools教程沒有詳盡無遺。我打算購買一本書,但我很樂意學習這些簡單的GET調用,因爲它會讓我朝着正確的方向前進。任何建議將不勝感激。
如果您使用它,會發生什麼? document.getElementById(「myDiv」)。innerHTML ='test'; – Sebas 2013-03-16 00:53:34
不是問題,但如果要編寫'loadXMLDoc()'以便它接受回調,爲什麼不在調用回調函數前做所有'readyState'和'status'檢查_before_?在成功傳遞結果作爲參數時調用它。 (注意:如果您使用更好的縮進方案,您的代碼將更易於閱讀,因此更易於調試......) – nnnnnn 2013-03-16 00:53:53
您的頁面是否也來自'http:// 192.168.0.5 /'?如果不是,它可能會將其視爲跨域請求。 – 2013-03-16 01:06:18