同源策略 - 草稿

1、同源的概念:
只有在兩個網(wǎng)頁的協(xié)議、域名、端口號都相同的情況下,這兩個頁面才是同源的。
2、同源策略限制的能力?
非同源的兩個頁面,不能互相訪問對方設(shè)置的本地存儲數(shù)據(jù)、不能互相操作對方的DOM、不能互相發(fā)送ajax請求。
3、什么是‘跨域’?
在一臺服務(wù)器的頁面中,請求另外一臺服務(wù)器的數(shù)據(jù)。這種行為就是跨域(兩個非同源服務(wù)器互相請求數(shù)據(jù))。
4、JSONP
1)JSONP的本質(zhì):
1、利用標(biāo)簽的src屬性可以加載任意服務(wù)器的接口內(nèi)容的特性,把要請求的跨域服務(wù)器接口設(shè)置在該src屬性中,并憑借一個回調(diào)函數(shù)作為參數(shù);
2、在服務(wù)器端,收到了該請求后,取出傳進(jìn)來的函數(shù)名,拼接成函數(shù)執(zhí)行的形式,把前端需要的數(shù)據(jù)設(shè)置在函數(shù)參數(shù)中,一塊返回給前端;
3、 前端在收到了服務(wù)器返回的函數(shù)執(zhí)行代碼后,開始觸發(fā)回調(diào)函數(shù),在回到函數(shù)中就可以獲取到想要的數(shù)據(jù)了。

// 1、創(chuàng)建script標(biāo)簽
            var scriptTag = document.createElement('script');
            // 2、設(shè)置標(biāo)簽類型
            scriptTag.type = 'text/javascript';
            // 3、設(shè)置請求的接口
            scriptTag.src = 'http://10.0.153.197:8888/news?callback=getData';
            // 4、拼接標(biāo)簽進(jìn)文檔流
            window.onload = function() {
                document.head.appendChild(scriptTag);
                
            }
            
            // 設(shè)置回調(diào)函數(shù)
            function getData (data) {
                console.log(data);
            }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容