Jsonp 跨域原理。(摘選)
瀏覽器的同源策略把跨域請(qǐng)求都禁止了辐怕,但是頁(yè)面中的 <script><img><iframe>標(biāo)簽是例外,不受同源策略限制。
Jsonp 就是利用 <script> 標(biāo)簽跨域特性進(jìn)行跨域數(shù)據(jù)訪問(wèn)祝闻。
JSONP 的理念就是,與服務(wù)端約定好一個(gè)回調(diào)函數(shù)名遗菠,服務(wù)端接收到請(qǐng)求后联喘,將返回一段 Javascript华蜒,在這段 Javascript 代碼中調(diào)用了約定好的回調(diào)函數(shù),并且將數(shù)據(jù)作為參數(shù)進(jìn)行傳遞豁遭。當(dāng)網(wǎng)頁(yè)接收到這段 Javascript 代碼后叭喜,就會(huì)執(zhí)行這個(gè)回調(diào)函數(shù),這時(shí)數(shù)據(jù)已經(jīng)成功傳輸?shù)娇蛻舳肆恕?/p>
JSONP 的缺點(diǎn)是:它只支持 GET 請(qǐng)求蓖谢,而不支持 POST 請(qǐng)求等其他類型的 HTTP 請(qǐng)求捂蕴。