對于開發人員來說,離不開API的開發和調用,我們在日常開發中,如果調用了第三方的API,而且此第三方API是以json數據格式返回時,默認是無法直接調用的(比如AJAX方式調用),因為會涉及到跨域問題。如何解決JSON跨域調用呢?那就得用到JSONP!
JSON和JSONP的區別
最簡單的理解:
由于瀏覽器的同源策略,a.com上網頁是無法和b.com服務器直接溝通的,JSONP就是用來解決瀏覽器跨域數據訪問的。
JSONP的原理分析
上面說到了,
JSONP整個工作流程大概如下:
1、調用方頁面上使用script標簽引用第三方API地址;
2、第三方響應的數據是JSON數據的包裝,格式如下:
callback({"name":"susan","age":"22"})
3、這樣一來,瀏覽器請求了此API后獲取到的實際上是一段JS代碼,然后調用callback函數,函數的實參是JSON對象,我們可以在callback函數中進行數據處理。
以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區交流~我是科技領域創作者,十年互聯網從業經驗,我了解更多科技知識!