JSONP的工作原理是什么?
對于開發者來說,離不開API的開發和調用。在我們的日常開發中,如果調用一個第三方API,而這個第三方API是以json數據格式返回的,默認是不能直接調用的(比如AJAX調用),因為會涉及到跨域的問題。如何解決JSON跨域調用?那就得用JSONP了!
對JSON和JSONP區別最簡單的理解就是,JSON是一種數據格式,而JSONP是一種數據調用。還有一種松散的理解:帶回調的JSON就是JSONP。
因為瀏覽器s的同源策略,在web上無法與服務器直接通信,使用JSONP解決瀏覽器的跨域數據訪問。
JSONP原理分析如上所述,出于安全考慮,所有主流瀏覽器都有相同的origin策略,但HTML中的ltscriptgt標簽不受此限制(ltscriptgt標簽沒有跨域限制)!所以我們可以利用這個特性與第三方進行交流。
JSONP的整個工作流程如下:
1.一個腳本標簽被用在調用者s頁面引用第三方API地址;
2.第三方響應的數據是JSON數據的包,格式如下:
回撥({nam:susan