http://alotaiba.github.io/FlyJSONP/
JSONP 특성상 POST 요청은 수행할 수 없다. 하지만 몇 가지 트릭을 사용하면 JSONP의 장점을 살리면서도, POST요청을 보낼 수 있는데, FlyJsonP는 그러한 트릭을 구현한 구현체중의 하나이다.
FlyJsonP 내부적으로는 YQL을 사용한다. (https://developer.yahoo.com/yql/)
즉, GET요청으로 야후 서버한테 정보를 넘겨주면, 야후 서버가 대신 POST를 날려서 결과를 알려주는 구조이다. 클라이언트가 직접 요청을 날리는것이 아니기 때문에 몇가지 케이스에서는 문제가 될 수도 있는 소지가 있지만, 대부분의 경우 괜찮다고 생각한다.
다만 한가지 주의할 사항이 있다. YQL에서는 몇몇 특수문자를 허용하지 않는다. 쿼리 기호랑 겹치기 때문인데, 반드시 이스케이프 하고 사용해야 한다. (https://developer.yahoo.com/boss/search/boss_api_guide/reserve_chars_esc_val.html)
예를 들어 BASE64 인코딩한 결과물 중 + 기호가 들어있는 데이터를 이스케이프 하지 않고 parameters에 넣어서 보내면 문제가 발생할 것이다.
'Javascript' 카테고리의 다른 글
[ionic] 로컬 앱 OAuth2 인증 수행하기 (0) | 2016.01.28 |
---|---|
[Cordova] INSTALL_FAILED_VERSION_DOWNGRADE 에러 발생 시 (0) | 2016.01.28 |
[Ionic] ionic framework 스크롤 속도 문제 (0) | 2016.01.27 |
[node] Error: Cannot find module 'mongodb/node_modules/bson' (0) | 2016.01.07 |
[AngularJS] 커스텀 filter 제작하기 (0) | 2015.12.01 |