一:同源策略:(從一個域上加載的腳本不允許訪問另外一個域的文檔屬性。)
? ? ? 1:URL由協議、域名、端口和路徑組成,如果兩個URL的協議、域名和端口相同,則表示他們同源。
2:在瀏覽器中,<script>? <img>? <iframe>? <link>等標簽都可以加載跨域資源 而不受同源限制 但瀏覽器限制了javascript權限、、、等標簽都可以加載跨域資源,而不受同源限制,但瀏覽器限制了JavaScript的權限使其不能讀、寫加載的內容。、
、、等標簽都可以加載跨域資源,而不受同源限制,但瀏覽器限制了JavaScript的權限使其不能讀、寫加載的內容。、
、、等標簽都可以加載跨域資源,而不受同源限制,但瀏覽器限制了JavaScript的權限使其不能讀、寫加載的內容。
3:另外同源策略只對網頁的HTML文檔做了限制,對加載的其他靜態資源如javascript、css、圖片等仍然認為屬于同源。
二:AJAX跨域
1:jsonp(JSONP只支持GET請求。):JSONP就是利用<script>標簽的跨域能力實現跨域數據的訪問,請求動態生成的JavaScript腳本同時帶一個callback函數名作為參數。其中callback函數本地文檔的JavaScript函數,服務器端動態生成的腳本會產生數據,并在代碼中以產生的數據為參數調用callback函數。當這段腳本加載到本地文檔時,callback函數就被調用。標簽的跨域能力實現跨域數據的訪問,請求動態生成的JavaScript腳本同時帶一個callback函數名作為參數。其中callback函數本地文檔的JavaScript函數,服務器端動態生成的腳本會產生數據,并在代碼中以產生的數據為參數調用callback函數。當這段腳本加載到本地文檔時,callback函數就被調用。
2:利用js構造一個script標簽,把json的url賦給script的scr屬性,把這個script插入到dom里,讓瀏覽器去獲取。
!