HTML 웹 페이지와 통신하는 데 좋은 wifi 칩 (esp8266)을 만들려고합니다.올바른 XMLHttpRequest 헤더 보내기
따라서 XMLHttpRequest를 사용합니다. 나는
나는 여전히 콘솔에서 오류가 .. 나는 그것이 작동하도록하는 액세스 제어 - 허용 - 원산지를 설정해야합니다 알고 :은 XMLHttpRequest http://x.x.x.x:8000/를로드 할 수 없습니다. 'Access-Control-Allow-Origin'헤더가 요청 된 리소스에 없습니다. 따라서 원본 'null'은 액세스가 허용되지 않습니다.
그래서 와이파이 모듈이 헤더를 보내는 :
나는 웹 페이지와 함께 액세서하기 위해 노력하고있어 다음
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();
죄송합니다. 로컬에서 실행 중이므로 예제를 제시 할 수 없습니다.
누군가 제게 디버그 방법을 제공 할 수 있습니까?
업데이트
나는 크롬에서 헤더를 볼 수 있어요. \ r \ n이 머리글에 표시됩니다. 200 또는 404 상태를 보낼 수 있습니다. 하지만 지금은 return 문을 보내는 방법을 찾아야합니다. View HTTP headers in Google Chrome?
그래서 내 크롬 콘솔에서 내가 헤더 얻을 : "200 OK \ r에 \ n \ r 일을 \ nOrigin : 테스트 \ 연구 \ nAccess - 제어 - 허용 - 원산지 : * \ 연구 \ n을 \ 연구 \ nContent -Type : text/html \ r \ n \ r \ n 안녕하세요. \ r \ n \ r \ n "
정상적인 페이지에서는 200 OK를 볼 수 있습니다. 그래서 \ r \ n이 작동하지 않습니다 ... 나는 return 문을 보내는 방법을 알아야합니다. 200을 404로 설정하면 페이지를 찾을 수 없습니다. 그래서 첫 번째 부분이 수신되었습니다 ...
'Access-Control-Allow-Origin : "*"은 (는) 잘못된 구문입니다. 따옴표를 포함해서는 안됩니다. – hindmost
확인. Tnx. 어쩌면 나는 이미 시도하지 않았다. 그러나 나는 그것을 다시 시도 할 것이다 –
Hmm는 시도하지 않고 있었다. 하지만 일하지 않아. –