日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

json 和 jsonp

發布時間:2025/3/19 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 json 和 jsonp 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用JSON來傳數據,靠JSONP來跨域

JSON(JavaScript Object Notation)和JSONP(JSON with Padding)雖然只有一個字母的差別,但其實他們根本不是一回事兒:JSON是一種數據交換格式,JSONP是一種依靠開發人員的聰明才智創造出的一種非官方跨域數據交互協議。我們拿最近比較火的諜戰片來打個比方,JSON是地下黨們用來書寫和交換情報的“暗號”,而JSONP則是把用暗號書寫的情報傳遞給自己同志時使用的接頭方式。一個是描述信息的格式,一個是信息傳遞雙方約定的方法。

JSONP有什么用?

由于同源策略的限制,XmlHttpRequest只允許請求當前源(域名、協議、端口)的資源,為了實現跨域請求,可以通過script標簽實現跨域請求,然后在服務端輸出JSON數據并執行回調函數,從而解決了跨域的數據請求。

如何使用JSONP?

下邊這一DEMO實際上是JSONP的簡單表現形式,在客戶端聲明回調函數之后,客戶端通過script標簽向服務器跨域請求數據,然后服務端返回相應的數據并動態執行回調函數。

1 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 2 <script type="text/javascript"> 3 function jsonpCallback(result) { 4 //alert(result); 5 for(var i in result) { 6 alert(i+":"+result[i]);//循環輸出a:1,b:2,etc. 7 } 8 } 9 var JSONP=document.createElement("script"); 10 JSONP.type="text/javascript"; 11 JSONP.src="http://crossdomain.com/services.php?callback=jsonpCallback"; 12 document.getElementsByTagName("head")[0].appendChild(JSONP); 13 </script>

或者

1 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 2 <script type="text/javascript"> 3 function jsonpCallback(result) { 4 alert(result.a); 5 alert(result.b); 6 alert(result.c); 7 for(var i in result) { 8 alert(i+":"+result[i]);//循環輸出a:1,b:2,etc. 9 } 10 } 11 </script> 12 <script type="text/javascript" src="http://crossdomain.com/services.php?callback=jsonpCallback"></script>

JavaScript的鏈接,必須在function的下面。

?

轉載于:https://www.cnblogs.com/lp-web/p/6386388.html

總結

以上是生活随笔為你收集整理的json 和 jsonp的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。