麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

簡單談談json跨域

2019-11-20 10:23:46
字體:
來源:轉載
供稿:網(wǎng)友

這一篇文章呢,主要是之前一直聽別人講json跨域跨域,但是還是一頭霧水,只知其一,于是一怒之下,翻閱各種資料,如果有不正確的地方,勞煩指正一下^_^

首先,先了解瀏覽器有一個很重要安全性限制,即為同源策略:不同域的客戶端腳本在無明確授權的情況下不能讀些對方資源。跨域也就是不同源~

簡單的說,只要協(xié)議,端口,域名有一個不同,即為跨域!

然而,當進行一些比較深入的前端編程的時候,不可避免地需要進行跨域操作,這時候“同源策略”就顯得過于苛刻。

解決方法:

1.使用jsonp解決跨域 :(僅適用于GET請求)

實現(xiàn)原理:<script>  標簽是不受同源策略的限制的,它可以載入任意地方的 JavaScript 文件,而并不要求同源。
所以 JSONP 的理念就是,我和服務端約定好一個函數(shù)名,當我請求文件的時候,服務端返回一段 JavaScript。這段 JavaScript 調(diào)用了我們約定好的函數(shù),并且將數(shù)據(jù)當做參數(shù)傳入。非常巧合的一點(其實并不是),JSON 的數(shù)據(jù)格式和 JavaScript 語言里對象的格式正好相同。所以在我們約定的函數(shù)里面可以直接使用這個對象。

使用JavaScript代碼解決

  var eleScript = document.createElement("script");   eleScript.type = "text/javascript";   eleScript.src = "http://example2.com/getinfo.php";   document.getElementsByTagName("HEAD")[0].appendChild(eleScript);

使用jquery解決

 $.ajax({     url: http://跨域的dns/document!searchJSONResult.action,     type: "GET",     dataType: 'jsonp',   //主要是這里和原來的json改變了!    jsonp: 'jsoncallback',  })

2.使用HTML5的window.postMessage方法來跨域傳送數(shù)據(jù)   (只兼容IE8+、FireFox、Chrome、Opera等瀏覽器)

window.postMessage(message,targetOrigin)  方法是html5新引進的特性,可以使用它來向其它的window對象發(fā)送消息,無論這個window對象是屬于同源或不同源。

------------暫且先介紹這2種解決方法……其實還有很多其他的,之后再一一補充-----------------

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 91久久国产露脸精品免费 | 美女扒开腿让男生桶爽网站 | 日本在线免费观看视频 | 香蕉视频h | 国产高潮国产高潮久久久91 | 国产精品99精品 | 久久激情小视频 | xnxx 日本免费 | 午夜热门福利 | 精品国产乱码久久久久久久 | 久草在线资源福利站 | 免费亚洲视频在线观看 | 色播视频在线播放 | 毛片一级网站 | 日韩毛片网 | 香蕉黄色网 | 羞羞视频免费观看入口 | 亚洲第一色片 | 国产精品一区二区三区在线播放 | 1314成人网| 日本成人二区 | 亚洲天堂岛国片 | 国产精品v片在线观看不卡 成人一区二区三区在线 | 欧美在线观看黄色 | 久久九九热re6这里有精品 | 午夜视频你懂的 | 久久99国产精品久久 | 久久性生活免费视频 | 国产在线精品区 | 国产伦久视频免费观看视频 | xxxxhdvideosex| 91av在线免费观看 | 国产精品久久久久久久久久久久久久久久 | 日韩一级网站 | 久色伊人 | 色网站免费观看 | 日韩深夜视频 | 91情侣在线偷精品国产 | 欧产日产国产精品v | 精品亚洲在线 | 国产黄色一级大片 |