jsonp是什么 JSONP的工作原理是什么?
JSONP的工作原理是什么?對于開發(fā)人員來說,API開發(fā)和調用是必不可少的。在我們的日常開發(fā)中,如果調用第三方API,并且以JSON數據格式返回第三方API,那么默認情況下不能直接調用(比如在Ajax
JSONP的工作原理是什么?
對于開發(fā)人員來說,API開發(fā)和調用是必不可少的。在我們的日常開發(fā)中,如果調用第三方API,并且以JSON數據格式返回第三方API,那么默認情況下不能直接調用(比如在Ajax模式下調用),因為會涉及跨域問題。如何解決JSON的跨域調用?那么你必須使用jsonp
!還有一個不精確的理解:帶回調的JSON是jsonp。
由于瀏覽器的同源策略,a.com上的網頁無法直接與b.com服務器進行通信。Jsonp用于解決瀏覽器的跨域數據訪問問題。
(<script>標記沒有跨域限制)!所以我們可以使用這個功能與第三方進行通信。
JSONP整個工作流程如下:
1,調用方頁面使用script標簽引用第三方API地址;
2,第三方響應數據是JSON數據包,格式如下:
3,這樣瀏覽器得到的API實際是JS代碼后,再調用回調函數,函數的參數是JSON對象,我們可以在回調中。數據處理在CK函數中進行。
是否有可能用JS替代JSON,作為后端接口返回的數據?
外行?從理論上講,JS是一種腳本語言(JavaScript),JSON(JavaScript object notation,JS)是一種輕量級的數據交換格式,是JS的子集,沒有替代,沒有替代。PHP、Java等后端語言開發(fā)的API接口返回JSON標準格式的數據,方便前端調用。前端可以使用js讀取JSON數據,結果顯示在網站上!為什么是JSON?因為JSON是一種標準的數據交互格式。大多數語言都可以讀取JSON數據。這樣,我們就可以開發(fā)多個終端,比如流行的微信小程序、應用程序和網站,來同步數據
JSON和JSONP的區(qū)別?
JSON(JavaScript對象表示法)是一種輕量級數據交換格式。它基于ECMAScript的一個子集。JSON采用完全獨立于語言的文本格式,但也使用類似于C語言家族的習慣(包括C、C、C#、Java、JavaScript、Perl、python等)。這些特性使JSON成為一種理想的數據交換語言。它便于人們讀寫,也便于機器分析和生成(一般用于提高網絡傳輸速率)。
Jsonp(JSON with adding)是JSON的一種“使用模式”,可以用來解決主流瀏覽器的跨域數據訪問問題。由于同源策略,它通常位于Server1中example.com網站的網頁不是Server1example.com網站HTML的<script>元素是一個例外。通過使用<script>元素的開放策略,web頁面可以獲得從其他源動態(tài)生成的JSON數據,這種使用模式稱為jsonp。jsonp捕獲的數據不是JSON,而是任意的JavaScript,由JavaScript解釋器執(zhí)行,而不是由JSON解析器解析。