前面的話
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。相反,它們使用 主站蜘蛛池模板: 扶余县| 侯马市| 新民市| 孙吴县| 金塔县| 新兴县| 日土县| 墨江| 游戏| 汝南县| 枞阳县| 丰县| 镶黄旗| 云南省| 当涂县| 高淳县| 小金县| 肇东市| 阿荣旗| 措勤县| 江山市| 东乡| 木里| 治县。| 奉新县| 永靖县| 凤阳县| 和硕县| 清远市| 卢龙县| 宁陵县| 兰考县| 尚志市| 津南区| 修水县| 宁安市| 安多县| 西吉县| 巴林右旗| 梧州市| 中方县|