ajax的跨域處理

2021-08-01 08:51:54 字數 1320 閱讀 5138

1.我們為什麼要去做跨域處理?

答:出於安全考慮,瀏覽器採用了同源策略規定了只能拿同源的資料.所有我們需要跨域來獲取資料.

2.什麼是網域名稱?什麼是跨域?

乙個網域名稱是由http://(協議) www(子網域名稱) . abc.com(主網域名稱) : 8080(埠號) / script/jquery.js(請求資源位址)

當協議/子網域名稱/主網域名稱/埠號中任意乙個不相同時,都算作不同域;

不同域之間相互請求資源,就算做跨域;

怎麼處理跨域?

方法一 : ** (這個一般是後台做好乙個介面然後直接呼叫);

方法二 : jsonp(這個比較常用);

src的作用 : 載入(包含指定的外部檔案)

可以跨域包含

被包含的資源可以是任何型別的檔案(可以是txt,php等)

他只關注被包含的檔案的內容是否是合法的js

原理定義函式

包含外部檔案,在被包含的檔案中執行呼叫定義好的函式

引數的(資料)的實現

問題:包含就呼叫,通過動態建立實現按需呼叫

問題:包含動態檔案時可以通過乙個介面實現按需生成呼叫函式名稱

jsonp : json with padding

1.script標籤

2.用script標籤載入資源是沒有跨域問題的

在資源載入進來之前定義好乙個函式,這個函式接收乙個引數(資料),函式裡面利用這個引數做一些事情

然後需要的時候通過script標籤載入對應遠端檔案資源,當遠端的檔案資源被載入進來的時候,就會去執行我們前面定義好的函式,並且把資料當作這個函式的引數傳入進去

id='head'>

charset="utf-8">

title>

type="text/css">

*

body

ul#tex

lili

a ul

lia:hover

style>

head>

type="text"

id="tex" />

ul>

body>

var ohead=document.getelementbyid('head');

var otext=document.getelementbyid('tex');

otext.onkeyup=function

() function

fn(data)

oul.innerhtml=html;

}script>

html>

ajax跨域 ajax跨域學習總結(一)

網域名稱又稱網域 網域名稱,是由一串用點分隔的名字組成的internet上某一台計算機或計算機組的名稱,用於在資料傳輸時標識計算機的電子方位 有時也指地理位置 internet的核心服務dns domain name system,網域名稱系統,有時也簡稱為網域名稱 提供網域名稱到ip位址的相對映。...

ajax跨域與cookie跨域

ajax跨域取資料 利用可以跨域載入js的原理 functioncallback 這是需要返回這樣乙個js函式 ajax資料型別使用jsonp 如 ajax url callbask x datatype jsonp type get 在使用資料型別為jsonp時,jquery自動會在url路徑上拼...

js跨域 ajax跨域 跨域方式(前端)

跨域方式 cors 跨域資源共享 當使用xmlhttprequest傳送請求時,瀏覽器會自動加上乙個請求頭 origin,後端在接受到請求後確定響應後會在response headers中加入乙個屬性 access control allow origin,值就是發起請求的源位址 瀏覽器得到響應會進...