前面的話
JSONP是JSON with padding(填充式JSON或參數式JSON)的簡寫,是應用JSON的一種新方法,常用于務器與客戶端跨源通信,在后來的Web服務中非常流行。本文將詳細介紹JSONP
基礎
JSONP的基本思想是,網頁通過添加一個<script>元素,向服務器請求JSON數據,這種做法不受同源政策限制;服務器收到請求后,將數據放在一個指定名字的回調函數里傳回來
當通過<script>元素調用數據時,響應內容必須用javascript函數名和圓括號包裹起來。而不是發送這樣一段JSON數據,這就是JSONP中P的意義所在
[1, 2, {"buckle": "my shoe"}]
JSONP看起來與JSON差不多,只不過是被包含在函數調用中的JSON,它會發送這樣一個包裹后的JSON響應:
handleResponse([l, 2, {"buckle": "my shoe"}])
包裹后的響應會成為<script>元素的內容,它先判斷JSON編碼后的數據,然后把它傳遞給handleResponse()函數
在實踐中,支持JSONP的服務不會強制指定客戶端必須實現的回調函數名稱,比如handleResponse。相反,它們使用 主站蜘蛛池模板: 华坪县| 平和县| 射阳县| 湘潭市| 来宾市| 文昌市| 威海市| 日土县| 肃北| 格尔木市| 郓城县| 上思县| 荆州市| 冷水江市| 余姚市| 长顺县| 香河县| 凤台县| 建始县| 苍溪县| 抚顺市| 沭阳县| 图木舒克市| 平顺县| 修水县| 电白县| 临夏县| 凤冈县| 桐柏县| 文安县| 射阳县| 新余市| 阳谷县| 玛沁县| 浦东新区| 淅川县| 朝阳市| 南召县| 芒康县| 吉水县| 任丘市|