2017-05-15 5 views
0

이제 freecodecamp에서 무작위 인용 생성기 시도를 시도하고 있습니다. 그러나 사이트에서 따옴표를 가져 오는 데 많은 어려움을 겪고 있습니다. CORS로 인해 http://api.forismatic.com ... 다른 사람의 솔루션을 발견했지만 왜 그가 쿼리를 포함했는지 이해하지 못합니다. jsonp=? url.이 JSONP URL은 왜 이렇게 작성 되었습니까?

// Random Quote Generator 
var url = "http://api.forismatic.com/api/1.0/?method=getQuote&key=457653&format=jsonp&lang=en&jsonp=?"; 

내가 내가 콜백이 있어야한다 알고 ... 마지막에 jsonp=?을 제외한 모든 것을 따라 나는 callback=? 로 교체하려했지만 다음 오류가 발생했습니다 :

그는 생성 : http://forismatic.com/en/api/에서 문서 당

"Refuse to execute script from (data resource) because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled." 

답변

0

:

jsonp=<string> — callback function name, used for jsonp format only

그래서 그들은 단지 jsonp 매개 변수를 가지고 있습니다. 정확히 다른 API가 callback을 사용합니다. method=getQuote&key=457653&format=jsonp&lang=en&jsonp=?을 부여

그래서, "?"리터럴이 API는 콜백 함수 이름으로 돌아갑니다 것입니다 : 즉

$ curl "http://api.forismatic.com/api/1.0/?method=getQuote&key=457653&format=jsonp&lang=en&jsonp=?" 

?({"quoteText":"I have done my best: that is about all the philosophy of living one needs.","quoteAuthor":"Lin-yutang","senderName":"","senderLink":"","quoteLink":"http://forismatic.com/en/475d78775d/"}) 

, 매개 변수 이름에 대해 마술 아무것도 없다 "callback는"아무 저기 없습니다 표준에 따라 매개 변수 이름을 사용해야하므로 모든 API 공급자는 forismatic.com에서 API에 대해 원하는대로 원하는 이름을 사용할 수 있습니다.

+0

하지만 코더가 "?" 그것은 forismatic 사이트에서 말하지 않은 것처럼 콜백 함수의 이름이었습니다 .... 예제가 있지만 diff 함수 이름이있었습니다. "$ curl"은 무엇입니까? 데이터를 전송할 수있는 명령 줄 도구 인 google을 사용해 보았습니다. – jqxz

+0

예'?'는 함수 이름에 대해 이상한 선택입니다. – sideshowbarker