我試圖使一個偉大的無線芯片(esp8266)與HTML網頁進行通信。發送正確的XMLHttpRequest標頭
因此我使用XMLHttpRequest。我知道,我必須設置訪問控制允許來源讓它工作..
我仍然得到錯誤的控制檯:
的XMLHttpRequest無法加載http://x.x.x.x:8000/。請求的資源上沒有「Access-Control-Allow-Origin」標題。因此不允許原產地'null'訪問。
所以WiFi模塊正在發送這個頭:
WIFI模塊響應
HTTP/1.1 200 OK\r\n
Access-Control-Allow-Origin: *\r\n
Content-Type: text/html\r\n
Hello world!\r\n
然後我試圖與網頁進入電影吧:
javascipt的
var xmlhttp;
function loadXMLDoc(){
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
console.log("readystate " + xmlhttp.readyState);
console.log("status " + xmlhttp.status);
console.log(xmlhttp.getAllResponseHeaders());
console.log(xmlhttp.responseText);
if (xmlhttp.readyState==4 && xmlhttp.status==200){
console.log(xmlhttp.responseText);
//document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","http://192.168.1.101:8000",true);
xmlhttp.send();
//console.log("status " + xmlhttp.status);
}
function send() {
xmlhttp.send("jooooo");
}
loadXMLDoc();
對不起,但不能舉一個例子,因爲它在本地運行。
也許有人可以給我一個調試方法?
更新
我能看頭在Chrome中。 \ r \ n顯示在標題中。我可以發送200或404狀態。但現在我必須找出如何發送返回聲明。 View HTTP headers in Google Chrome?
所以在我的鉻控制檯我得到的標題: 「200 OK \ r \ n \ r \ nOrigin:測試\ r \ nAccess-控制允許來源:* \ r \ n \ r \ nContent - 類型:text/html \ r \ n \ r \ n你好世界!\ r \ n \ r \ n「
對於正常頁面,我看到200 OK。所以\ r \ n不工作....我必須找出如何發送return語句。當我將200設置爲404時,我找不到頁面。所以第一部分收到...
'Access-Control-Allow-Origin:「*」'是錯誤的語法。它不應該包含引號。 – hindmost 2014-10-06 15:00:54
好的。 TNX。也許我沒有嘗試過。但我會再試一次 – 2014-10-06 15:02:15
嗯試過沒有。但不工作。 – 2014-10-06 15:04:58