詳解基于瀏覽器同源策略的幾種跨域方式

Flash
跨域
這是一種比較老的跨域方式,現(xiàn)在基本不使用了,要是有興趣可以自己去看看,在這里就不做討論。
服務(wù)器中轉(zhuǎn)代理
由于同源策略只是瀏覽器的限制,服務(wù)器不會(huì)受到同源策略的限制,所以我們可以發(fā)送請(qǐng)求的時(shí)候,可以設(shè)置一個(gè)代理服務(wù)器,這個(gè)代理服務(wù)器和我們當(dāng)前的url
同源,首先請(qǐng)求到該同源的服務(wù)器,然后由同源的服務(wù)器重定向到我們要訪問(wèn)的url
,由于服務(wù)器和服務(wù)器之前不受同源策略的限制,所以即使不是同源的也可以不受限制的訪問(wèn)。
服務(wù)器中轉(zhuǎn)代理也是我們常用的一種方式。
JsonP
跨域。
JsonP
跨域,是我們經(jīng)常使用到的一種跨域方式。想必大家都有這樣的經(jīng)歷,在script
中使用,src
屬性,引入外部資源,比如jQuery
,稍微注意以下就能看到請(qǐng)求的url
其實(shí)和我們本地的url
不同源的,但是為什么我們卻可以請(qǐng)求到資源呢? 這是因?yàn)?code>src屬性具有跨域的能力。凡是擁有src
這個(gè)屬性的標(biāo)簽都擁有跨域的能力,而且都是GET
請(qǐng)求比如<script>、<img>、<iframe>
使用方法
因?yàn)槲覀儫o(wú)法監(jiān)控通過(guò)<script>
的src
屬性是否把數(shù)據(jù)獲取完成,所以我們需要做一個(gè)處理。一般是我們向后端傳遞參數(shù)的時(shí)候,傳一個(gè)處理跨域獲取數(shù)據(jù)的函數(shù),服務(wù)端會(huì)根據(jù)參數(shù)cb的值返回 對(duì)應(yīng)的內(nèi)容。
function doJSON(data){} var scri = document.createElement('script') scri.src = 'http://xxx' + '?cd =' +doJSON
這樣后臺(tái)返給我們的數(shù)據(jù)像這樣: doJSON(data), 這樣在我們的頁(yè)面中就會(huì)自動(dòng)執(zhí)行我們定義好的方法,而且方法的參數(shù)就是我們想要的數(shù)據(jù),我們就可以在該方法中處理相關(guān)業(yè)務(wù)邏輯。
document.domain
我們可以在頁(yè)面中設(shè)置documentl.domain
,但是這只是針對(duì)基礎(chǔ)域名相同的情況。例如 在bj.58.com與tj.58.com 中設(shè)置document.domain = '58.com',那么只要基礎(chǔ)域名是58.com,就可以訪問(wèn)這兩個(gè)頁(yè)面
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
FrontPage網(wǎng)頁(yè)中怎么插入視頻? FrontPage視頻插入技巧
FrontPage網(wǎng)頁(yè)中怎么插入視頻?FrontPage創(chuàng)建的網(wǎng)頁(yè)想要插入視頻,該怎么插入視頻并調(diào)整視頻大小呢?下面我們就來(lái)看看FrontPage視頻插入技巧,需要的朋友可以參考下2021-03-05FrontPage怎么自定義設(shè)置CSS外部樣式表?
FrontPage怎么自定義設(shè)置CSS外部樣式表?FrontPage中想要自己制作一個(gè)樣式表,該怎么自定義設(shè)置呢?下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下2019-05-22FrontPage怎么制作作網(wǎng)頁(yè)下拉菜單?
FrontPage怎么制作作網(wǎng)頁(yè)下拉菜單?FrontPage制作網(wǎng)頁(yè)的時(shí)候,需要給網(wǎng)頁(yè)添加下拉菜單,該怎么制作這個(gè)效果呢?下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下2019-05-21FrontPage怎么添加選項(xiàng)按鈕? FrontPage選項(xiàng)按鈕添加方法
FrontPage怎么添加選項(xiàng)按鈕?FrontPage制作網(wǎng)頁(yè)的時(shí)候,想要插入選項(xiàng)按鈕,該怎么插入呢?下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下2019-05-21FrontPage怎么使用復(fù)選框? FrontPage復(fù)選框的用法
FrontPage怎么使用復(fù)選框?FrontPage制作網(wǎng)頁(yè)的時(shí)候,想啊喲使用復(fù)選框,該怎么使用復(fù)選框呢?下面我們就來(lái)看看FrontPage復(fù)選框的用法,需要的朋友可以參考下2019-05-20FrontPage怎么創(chuàng)建留言簿網(wǎng)頁(yè)?
FrontPage怎么創(chuàng)建留言簿網(wǎng)頁(yè)?FrontPage中想要制作一個(gè)網(wǎng)頁(yè),該怎么制作留言簿呢?下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下2019-05-20- FrontPage框架怎么拆分與合并?FrontPage中創(chuàng)建的框架網(wǎng)頁(yè)想要對(duì)王佳進(jìn)行拆分和合并操作,該怎么辦呢?下面我們就來(lái)看看詳細(xì)的教程,需要的朋友可以參考下2019-04-30
- FrontPage怎么啟用超鏈接翻轉(zhuǎn)效果?FrontPage給網(wǎng)頁(yè)添加超鏈接以后,想要添加動(dòng)態(tài)效果,比如鼠標(biāo)鼠標(biāo)懸或單擊超鏈接時(shí),鏈接外觀所產(chǎn)生的變化效果,下面我們就來(lái)看看詳細(xì)的2019-04-17
- FrontPage超鏈接默認(rèn)顏色怎么修改?FrontPage中想要設(shè)置超鏈接默認(rèn)的顏色,比如已訪問(wèn)的超鏈接和當(dāng)前超鏈接的顏色,該怎么設(shè)置呢?下面我們就來(lái)看看詳細(xì)的教程,需要的朋友2019-04-17
- 這篇文章主要介紹了詳解基于瀏覽器同源策略的幾種跨域方式的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-03