필자는 HbbTV 응용 프로그램에서 필립스 색조 표시등 (정확하게 게이트웨이 하드웨어와 함께)과 통신하기 위해 브리지와 같은 솔루션을 사용하고 있습니다.XHR POST to Philips Hue Bridge
프로세스가 진행 중이고 시스템이 작동 중이기 때문에 지금은 HbbTV가있는 TV를 시뮬레이트하는 Firefox 용 플러그인을 사용하고 있습니다. 그렇게하기 위해, 나는 XAMPP를 통해 아파치를 시작한다.이 파일에는 Firefox에로드되는 파일이있다.
필자는 필자가 필자가 필자의 게이트웨이에 POST 요청을 보낼 수 없기 때문에 정확한 출처 정책이 맞는지 확인했습니다. 필립스 색조의 설정에 액세스 할 수 없기 때문에 내 작업 영역은 클라이언트 측에서만 이루어져야합니다.
내 실제 시도는 다음과 같습니다
\t \t var stringState = "http://" + this.Ip + "/api/" + this.UserId + "/lights/" + this.LightId;
\t \t var httpxml = new XMLHttpRequest();
\t \t
\t \t var valueRequest;
\t
\t \t console.log("in GetState:" + this.LightId);
\t
\t \t \t
\t \t httpxml.onreadystatechange = function() {
\t \t \t if (httpxml.readyState == XMLHttpRequest.DONE) {
\t \t \t \t
\t \t \t \t valueRequest = JSON.parse(httpxml.responseText);
\t \t \t \t
\t \t \t \t console.log(valueRequest);
\t \t \t \t console.log(valueRequest.state.on);
\t \t \t \t \t
\t \t \t \t that.switchState(valueRequest.state.on);
\t \t \t }
\t \t }
\t \t
\t \t httpxml.open('GET',stringState,true);
\t \t httpxml.withCredentials = true;
\t \t httpxml.setRequestHeader("Content-Type", "application/json");
\t \t
\t \t httpxml.send();
나는 자바 스크립트와 웹의 개발에 아주 새로운 해요. 누군가가 조언과 어쩌면 명확한 예를 들어 올바른 길로 나를 인도 할 수 있기를 바랍니다.
안부 아드리안는 P-의 XAMPP에서의
잠시만 실례지만 휴가 중이었습니다. 좋아, 그래서 요청을 보낼 전자 php 파일을 만들지 만 html 파일에 어떻게 포함시켜야합니까? – DaPole
@DaPole 웹 서버가있어 여러 파일을 완벽하게 호스팅 할 수 있습니다. 보시다시피,'''stringState'' 변수를 수정했습니다. 즉,''xy.php'' 파일이 원본 파일에서 참조되는 곳입니다. 그러나 원래는 요청 변수를 오보 (mispaired) 했으므로 이제는 올바른 것입니다. – tevemadar
예, 분명합니다. 그것이 올바른 것으로 이해함에 따라 예를 들어 .php를 시작해야합니다. StringState 구성으로 인해 AJAX 명령과 변수 ip, user 및 light가 이미로드되어 있어야합니까? 매개 변수가 필요하지 않습니까? 결국 PHP에서 응답을 수집하고이를 JSON으로 구문 분석합니다. PHP를 추가하지 않고 Javascript와 동일한 출처 정책에 대한 대안을 제공하는 또 다른 옵션이 있습니까? HbbTV는 매우 제한된 자유를 사용할 수 있습니다. – DaPole