웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > js

AJAX 통신에서 YQL을 사용한 크로스도메인 방법

Last Modified : 2016-07-20 / Created : 2015-11-03
5,054
View Count
SOP(Same Origin Policy) 때문에 자신의 도메인이 아닌 다른 웹사이트에 있는 코드를 가져오는 방법이 간단하지 않습니다. 브라우저 정책에 어긋나기 때문에 오류를 발생하기 때문이죠. 하지만 이를 우회할 수 있는 방법이 있으니 가장 큰 방법으로 아래의 세가지입니다.

1. JSON Padding
2. YQL
3. 서버단 페이지에서 코드를 불러와 파싱 후 ajax로 불러오는 방법



위 방법들 중 세번째 방법은 직접 ajax()를 사용하지 않고 서버단에서 불러온 뒤 다시 파싱하는 방법으로 동일 출처 정책에 상관없이 불러온다는 장점이 있습니다. 그 외의 방법들 중 두번째 방법이 오늘 말하고자 하는 YQL입니다. YQL 방법을 사용하여 비동기로 불러오는 방법과 jsonp 이 두가지 방법의 차이 및 특징은 무엇이 있을까요?

먼저, JSON Padding(jsonp) 방식은 가장 잘 알려진 가장 보편적인 크로스 통신(크로스 도메인) 방법입니다. jQuery의 XMLHttpRequest 객체를 사용하거나 간편하게 제이쿼리의 ajax를 사용할 수도 있습니다. 그리고...

YQL 방식은 yahoo API를 사용해 크로스도메인 통신하는 방법입니다. 단점이라면 yahoo 웹페이지를 통해 데이터를 전송해야한다는 불편함입니다. 하지만 jsonp 방식의 경우 크로스도메인을 사용해 통신시 json이 아닌 다른 타입, 예를 들어 xml등의 데이터 전송시 어려움이 있습니다. 이와 달리 YQL 방식은 xml 타입 역시 전달받아 변환해 사용이 가능합니다.

Previous

[제이쿼리] contains() 메소드 알아보기

Previous

자바스크립트 소수점 버림, 올림, 반올림, 절사 방법