2012-03-03 38 views
0

下面給出了我最簡單的腳本來測試XMLHttpRequest。但是,無論我做什麼,我似乎都無法讓它工作。收到標題後總會出現錯誤。其中一種可能性是因爲代理。如果這是我怎麼知道這是原因?請注意XMLHttpRequest的代碼取自指南https://developer.mozilla.org/En/XMLHttpRequest/Using_XMLHttpRequestJavascript: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。

+0

將XMLHttpRequests想象成與想要與之通信的服務器交談的一種方式。所以,如果一個服務器想要和你交談,它將通過帶有CORS(跨源資源共享)的標題,以及來自JSON-P的特殊回調或其他方式進行規定。這是JavaScript中的一項內置功能,不允許將XMLHttpRequest發送到另一臺服務器,這就是爲什麼您遇到問題。嘗試製作一個簡單的PHP腳本來測試它(從你的服務器),並請求:'<?php echo「Ajax正在工作」; ?>'。看看你得到了什麼。 – Tim 2012-03-03 15:39:43

+0

@TimBolton感謝您的評論(我想接受作爲答案,但不知道如何)。我不知道如何給點評分,但是+1。 – 2012-03-04 07:29:00

回答

2

無法通過來自不同域的XMLHttpRequest加載文檔。另請參閱same origin policy

+0

謝謝接受爲答案。 – 2012-03-04 07:29:27

相關問題