我试图使一个伟大的无线芯片(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