天天看點

同源政策、跨域解決方案

• 不受同源政策限制的:

1、頁面中的連結,重定向以及表單送出是不會受到同源政策限制的。

2、跨域資源的引入是可以的。但是js不能讀寫加載的内容。如嵌入到頁面中的<script src="..."></script>,<img>,<link>,<iframe>等。

此方式的特點:

1. 隻能在父域名與子域名之間使用,且将 xxx.child1.a.com域名設定為a.com後,不能再設定成child1.a.com。

2. 存在安全性問題,當一個站點被攻擊後,另一個站點會引起安全漏洞。

3. 這種方法隻适用于 Cookie 和 iframe 視窗。

• JSONP跨域

JSONP和JSON并沒有什麼關系!

JSONP的原理:(舉例:a.com/jsonp.html想得到b.com/main.js中的資料)在a.com的jsonp.html裡建立一個回調函數xxx,動态添加<script>元素,向伺服器發送請求,請求位址後面加上查詢字元串,通過callback參數指定回調函數的名字。請求位址為http://b.com/main.js?callback=xxx。在main.js中調用這個回調函數xxx,并且以JSON資料形式作為參數傳遞,完成回調。我們來看看代碼:

繼續閱讀