跨域的解決方案

2021-10-08 14:48:30 字數 975 閱讀 8174

出於瀏覽器的同源策略的限制。同源策略就是一種約定,它是瀏覽器最核心最安全的功能,如果沒有它,瀏覽器的正常功能都會受到影響,也就是說web的構建在同源策略之上的,瀏覽器只是針對它的一種實現。

就是當乙個請求的協議、網域名稱、埠三者之間有任何乙個不同就是跨域

jsonp

jsonp是指json padding,jsonp是一種非官方跨域資料交換協議,由於script的src屬性可以跨域請求,所以jsonp利用的就是瀏覽器的這個「漏洞」,需要通訊時,動態的插入乙個script標籤。請求的位址一般帶有乙個callback引數,jsonp非常的簡單易用,自動補全api利用的就是jsonp。最大特點就是簡單適用,相容性好(相容低版本ie),缺點是只支援get請求,不支援post請求。

1、原聲寫法

function

addscript

(src)

window.

onload

=function()

function

abc(data)

2、jquery寫法

""

>

<

/script>

// jquery中的ajax方法封裝了jsonp 底層原始碼就是上面的**

$.ajax(}

)}

這裡有人會誤認為jsonp是一種請求方式,其實是錯的,只是jquery底層原始碼中封裝了jsonp原聲寫法而已。

3、vue寫法

跨域解決方案

因為瀏覽器出於安全考慮,有同源策略。也就是說,如果協議 網域名稱或者埠有乙個不同就是跨域,ajax 請求會失敗。那麼是出於什麼安全考慮才會引入這種機制呢?其實主要是用來防止 csrf 攻擊的。簡單點說,csrf 攻擊是利用使用者的登入態發起惡意請求。也就是說,沒有同源策略的情況下,a 可以被任意其他...

跨域解決方案

瀏覽器端的同源策略 如果兩個頁面的協議,埠和網域名稱中的其中任意乙個不相同,它們就是不同源的,瀏覽器會限制他們之間的資源互動 跨域 跨域的安全限制只針對瀏覽器,伺服器是沒有跨域的安全限制的 原理 由於伺服器沒有跨域限制,所以在需要跨域訪問時,在中間設定乙個中間層 舉例 192.168.10.1 80...

跨域解決方案

後端解決跨域的主要方式是,通過在響應頭中設定相關的跨域字段,用於告訴瀏覽器允許跨域請求資源。在前後端分離的場景中,登入頁面存在後端伺服器中,當登入成功後,需要發起跳轉請求,跳轉至前端首頁的情況。nginx響應頭相關配置 可指定匹配路徑,並不一定需要在location 下配置 在前後端分離的場景中,由...