Ajax資料之同源政策

2021-10-01 23:43:43 字數 916 閱讀 9631

◆ ajax請求限制:

ajax只能向自己的伺服器傳送請求。比如現在有乙個a**、有乙個b**,a**中的 html檔案只能向a**伺服器中傳送ajax請求,b**中的html檔案只能向b**中傳送ajax請求,但是a**是不能向 b **傳送 ajax請求的,同理,b**也不能向a**傳送ajax請求。

◆ 同源的概念:

如果兩個頁面擁有相同的協議、網域名稱和埠,那麼這兩個頁面就屬於同乙個源,其中只要有乙個不相同,就是不同源。

同源不同源(網域名稱不同)

不同源(網域名稱不同)

不同源(埠不同)

不同源(協議不同)

◆ 同源政策的目的:

同源政策是為了保證使用者資訊的安全,防止惡意的**竊取資料。最初的同源政策是指 a **在客戶端設定的 cookie,b**是不能訪問的。

隨著網際網路的發展,同源政策也越來越嚴格,在不同源的情況下,其中有一項規定就是無法向非同源位址傳送ajax 請求,如果請求,瀏覽器就會報錯。

◆ 使用jsonp解決同源限制問題:

jsonp 是 json with padding 的縮寫,它不屬於 ajax 請求,但它可以模擬 ajax 請求。

1、將不同源的伺服器端請求位址寫在 script 標籤的 src 屬性中

2、伺服器端響應資料必須是乙個函式的呼叫,真正要傳送給客戶端的資料需要作為函式呼叫的引數。

const data = 'fn()';

res.send(data);

3、在客戶端全域性作用域下定義函式 fn

function fn (data)
4、在 fn 函式內部對伺服器端返回的資料進行處理

function fn (data)

從發請求到AJAX到同源政策

什麼是ajax?簡單說就是用js發請求用js處理響應 xml格式的字串太麻煩了,目前使用json 寫乙個ajax mybutton.addeventlistener onclick function else if request.status 400 題外話,怎麼看一句執行用了多長的時間?var ...

ajax同源政策和跨域請求方式詳解

客戶端向伺服器端傳送響應,需要保證協議 網域名稱和埠號相同,否則會出現跨域問題,而相同的協議 網域名稱和埠號就叫同源,否則就是跨域。保證使用者資訊保安 1 jsonp 原理 使用jsonp可以繞過同源政策 要求 前後端需要配合 使用步驟 1 將請求位址寫在script的src屬性中,因為src屬性可...

AJAX的同源策略

同源策略是瀏覽器的一種安全策略。同源 協議 網域名稱 埠號,必須完全相同 違背同源策略就是跨域 jsonp方法 jsonp 是乙個非官方的跨域解決方案,只支援 get 請求。jsonp就是利用script標籤的跨域能力來傳送請求的 script本身就具有跨域特性 script 標籤返回的應該是js語...