OpenApi를 가지고 연예인 검색 페이지를 제작중에 Ajax부분에서
자바스크립트 사용권한 문제가 발생하였다.
문제의 원인은 아래와 같다.
그래서 해결방법을 강구하던 중에 중계페이지를 둬서 권한문제가 발생하지 않도록 해결하였다.
중계 페이지를 별다른 기능은 없다.
단지 a.php의 AJAX코드에서 OpenApi 사이트에 직접 요청하던걸
b.php가 대신 할 뿐이다.
주의할 점은 b.php에서 OpenApi사이트의 xml데이타를 받아 중계할 경우 b.php에는 아래와 같은 코드가 들어가야 한다.
header("Content-type: text/xml");
그래야 AJAX의 request객체의 response.Xml로 받을 수 있다.
자바스크립트 사용권한 문제가 발생하였다.
문제의 원인은 아래와 같다.
샌드박스
Ajax는 샌드박스 보안 모델이 포함되어 있다. 그 결과 Ajax 코드(특히 XMLHttpRequest 객체)는 실행 중인 동일한 도메인에만 요청을 생성한다. 다음 글에서 보안 및 Ajax에 관해 더 많은 것을 배우게 되겠지만 지금으로선 로컬 머신 상에서 작동하는 코드만으로도 로컬 머신 상의 서버측 스크립트에 요청을 생성한다는 것을 알게 된다. www.breakneckpizza.com상에서 Ajax 코드를 실행하는 경우, www.breakneckpizza.com상에서 실행하는 스크립트에 관한 요청을 생성한다.
그래서 해결방법을 강구하던 중에 중계페이지를 둬서 권한문제가 발생하지 않도록 해결하였다.

단지 a.php의 AJAX코드에서 OpenApi 사이트에 직접 요청하던걸
b.php가 대신 할 뿐이다.
주의할 점은 b.php에서 OpenApi사이트의 xml데이타를 받아 중계할 경우 b.php에는 아래와 같은 코드가 들어가야 한다.
header("Content-type: text/xml");
그래야 AJAX의 request객체의 response.Xml로 받을 수 있다.



덧글