0
下面給出了我最簡單的腳本來測試XMLHttpRequest。但是,無論我做什麼,我似乎都無法讓它工作。收到標題後總會出現錯誤。其中一種可能性是因爲代理。如果這是我怎麼知道這是原因?請注意XMLHttpRequest的代碼取自指南https://developer.mozilla.org/En/XMLHttpRequest/Using_XMLHttpRequest。Javascript:XMLHttpRequst:如何使其工作
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/JavaScript">
function loadXMLDoc()
{
var oXHR = new XMLHttpRequest();
oXHR.onreadystatechange = function (oEvent) {
if (oXHR.readyState === 4) {
if (oXHR.status === 200) {
document.getElementById("xml_req_output").innerHTML += oXHR.responseText + "\n";
} else {
document.getElementById("xml_req_output").innerHTML += "Error:" + oXHR.statusText + "\n";
}
}
}
if (typeof oXHR.overrideMimeType != 'undefined') {
oXHR.overrideMimeType('text/xml');
}
var urltoget = document.getElementById("txturl").value;
document.getElementById("xml_req_output").innerHTML += urltoget + "\n";
oXHR.open("GET", urltoget, true);
oXHR.send(null);
}
</script>
</head>
<body>
<input type="text" name="txturl" id="txturl" size="200" value="http://www.mozilla.org"/>
</br>
<input type="button" onclick="loadXMLDoc()" value="Get XML"/>
</br>
<textarea cols="100" rows="50" height="400px" id="xml_req_output" >
</textarea>
</body>
</html>
謝謝, -Neel。
將XMLHttpRequests想象成與想要與之通信的服務器交談的一種方式。所以,如果一個服務器想要和你交談,它將通過帶有CORS(跨源資源共享)的標題,以及來自JSON-P的特殊回調或其他方式進行規定。這是JavaScript中的一項內置功能,不允許將XMLHttpRequest發送到另一臺服務器,這就是爲什麼您遇到問題。嘗試製作一個簡單的PHP腳本來測試它(從你的服務器),並請求:'<?php echo「Ajax正在工作」; ?>'。看看你得到了什麼。 – Tim 2012-03-03 15:39:43
@TimBolton感謝您的評論(我想接受作爲答案,但不知道如何)。我不知道如何給點評分,但是+1。 – 2012-03-04 07:29:00