JS的跨域訪問

最近在網絡上看了很多JS跨域訪問的解決方案。。比較了一下,大致上有這麼兩種:

第一個是使用內嵌的iframe,由於iframe能夠訪問外部域,因此,便實現了一種簡單的跨域訪問。但是這裏存在着一個問題,那就ParentWindow和childWindow之間不能直接進行交互,因爲在跨域的情況下,由於安全性的原因,這種交互是被拒絕的。。這時候,人們便想到了使用anchor hash來實現。因爲改變一個網頁的anchor hash並不會使網頁重新加載,,從而使網頁的狀態得到了保持。而網頁本身可以通過一個計時器偵聽自己hash的變化,從而改變自己的狀態。。說白了,其實就是使用anchor hash來進行跨域的交互。。

這種方法現在用的很少,下面介紹另一種比較流行的辦法:JSONP

這種方式實際上是使用script標籤來進行跨域的訪問。它的原理實質上就是通過script標籤來對javascript文檔的動態解析來說實現。。當我們要求實現AJAX跨域訪問時,必須忘掉方便的XMLHttpRequest,而只使用動態生成的script,下面的一個例子是對JSONP方法的一個包裝,來模擬ajax:(使用script的一個限制是它只支持get請求,這就限制了它只能傳遞少量的數據)

發佈了56 篇原創文章 · 獲贊 4 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章