前端面試題常考 必考之 跨域的解決辦法

2022-04-04 14:28:32 字數 949 閱讀 9336

1.為啥出現跨域???

在制定html規則時,為了安全的考慮,乙個源的指令碼(網頁,**)不能與另乙個源的資源進行互動,

所以就引發乙個詞叫做「同源策略」。

同源策略:同源策略是一種約定,它是瀏覽器最核心的也最基本的安全功能,如果缺少了同源策略,則

瀏覽器的正常功能可能會受到影響。

同源:所謂同源(即指在同乙個域),就是兩個頁面具有相同的協議(protocol),主機(host)和埠號(port)

2.啥是跨域???

當協議,主機,和埠號有乙個不同時,就是跨域。

需要注意的是:預設的埠號是80

3.受限制的場景有哪些呢???(面試回答)

1)cookie,localstorage無法讀取

2)dom和js物件無法讀取,主要是iframe(可以說有iframe的物件無法讀取)

3) ajax請求不能傳送

跨域報錯長這樣子:

4.解決跨域的方法???

對最主要的ajax跨域來說(也就是平常調介面時):

1)(後端)伺服器配置cors(跨域資源共享)

2) (後端)node.js或nginx,反向**,把跨域改造成同域

3)(前端)將json公升級成jsonp,在json的基礎上,利用標籤可以跨域的特性,加上頭設定

對iframe跨域來說:

h5提供了postmessage()的方法,可以在父子頁面進行通訊(加分項)

前端面試之跨域問題

同源策略是一種約定。同源是指 協議 網域名稱 埠 三者相同,就算兩個不同的網域名稱指向同乙個ip位址,也不屬於同源。同源策略限制以下幾種行為 為什麼要使用同源策略?同源策略主要是來防止csrf攻擊的,csrf攻擊是指利用使用者的登陸狀態發起惡意請求。但是同源策略並不能完全防止csrf。跨域是指瀏覽器...

array 前端面試題 JS陣列的前端面試題

關於陣列的前端面試題 如何判斷乙個變數是否為陣列?為什麼不用 typeof var list 1,2,3 typeof list object array 繼承與object 所以typeof 會直接返回 object 所以不可以用 typeof 方法來檢測 為什麼不用 instanceof?var...

某次前端面試的面試題

1.自我介紹 2.盒子居中的方法 3.vue3.0和vue2.x版本的雙向資料繫結原理?為何要重做?proxy 的內容是什麼?4.專案中遇到最困難的地方 5.有沒有上線的專案 6.如何實現乙個三角形?如何實現乙個圓 半圓?7.element ui元件庫的form表單如何進行傳值 8.學了這麼久的前端...