질문 Q #9613
다음 지도 openAPI & CI
skyyark 2011-11-30 14:48:17
 맨날 눈팅하고 자료만 검색하다가 실제로 질문 올리는건 처음이라 어색하네요;

이번에 알바하면서 CI기반에서 다음 지도 오픈API를 사용할 일이 생겼는데요

외부 url에 자바스크립트로 http request를 요청하면서 url을 설정해주는데 자꾸 에러가 발생하네요

function search() {
  var url = 'apis.daum.net/local/geo/addr2coord?apikey=bd309c6800b5673b2a542e7aec02f459e4d9b771&q=압구정&output=xml'; 
  httpRequest = getXMLHttpRequest();
  httpRequest.open("GET", url, true);
  httpRequest.onreadystatechange = write;
  httpRequest.send();
};

function write() {
  [removed](httpRequest.responseText);
 
};
(사실 자바스크립트가 익숙하지 않아서 [removed]로 단순 출력해보아도 되는건지는..잘모르겠습니다 [removed]로 status값과 readystate 값을 뽑아봤지만 404, 500 등의 값만 토해냅니다..)

여튼 자바스크립트 함수 write를 등록한 html 태그를 클릭하면 이런 에러 코드를 발생시키네요

Unable to load the requested file: benefit/apis.daum.net

(benefit은 해당 view가 속한 폴더이구요..)


ci에서 지정한 url 상수때문에 외부 url에 접근하지 못하고 이러한 값을 뱉는거 같은데요 해결할 방법이 없을까요..?


답변 4
#1 사월 2011-11-30 15:16:08
 http:// 가 빠져서 그런거 아닐까요? apis.daum.net을 파일(디렉토리?)로 인식하고 있으니까요.
#2 skyyark 2011-11-30 15:31:42
http:// 를 추가하면 status에 0이 나오네요 404, 500 도 아니고-_ㅠ
자바스크립트 코드의 문제이려나요;

#3 사월 2011-11-30 15:50:44
아... 브라우저에서 바로 daum api 호출하는거죠?
XHR은 도메인이 다르면 호출이 불가능하기 때문에 JSONP 방식으로 하셔야 합니다.
(JSON padding 이고, 그냥 <script> 태그 만드는 방식입니다. jQuery 등을 이용하시면 편하구요...)
#4 skyyark 2011-11-30 16:07:14
사월님 답글 달아주셔서 감사합니다. 해결할 방법이 보이네요ㅠ