首頁  >  文章  >  web前端  >  如何理解Js跨域

如何理解Js跨域

一个新手
一个新手原創
2017-10-17 09:38:001466瀏覽

什麼是跨域

瀏覽器有同源策略,不允許ajax 訪問其他域的介面

跨域條件:協定、網域、端口,有一個不同就算跨域

http 預設連接埠是80

https 預設連接埠是443

有三個標籤允許跨網域載入資源

65179b6b460f0bc47f88d742253d467f  // 可用於打點統計,統計網站可能是其他域

cf63513d015db02810a3e91eb1a177962cacc6d41bbb37262a98f745aa00fbf0  // 可以用於JSONP,也能使用CDN

c7c25c3ec3d204f0cd21685269e19de7  // 可以使用CDN,CDN的也是其他域

跨域的幾種方式

# 1、JSONP 跨域的資料請求

  JSONP 實作原理

  1、載入http://www.baidu.com/test.html

  2、不一定服務端真正有一個test.html 文件

  3、伺服器可以根據請求,動態產生一個test.html 文件,回傳

  4、同理於84a8923902981e74e8ada5c80e665fc22cacc6d41bbb37262a98f745aa00fbf0 


<script>
  window.callback = function (data) {
    console.log(data);  // 这是跨域得到的信息
  }
</script>
<script src="http://www.baidu.com/api.js"></script>
<!-- api.js 内容是: callback({x: 100, y: 200}) -->

2、服務端設定http header 這是將來解決跨域問題的一個趨勢


// 注意:不同后端语言的写法可能不一样

// 第二个参数填写允许跨域的域名,* 代表允许所有域,不建议直接写 *
response.setHeader("Access-Control-Allow-Origin", "http://a.com, http://b.com");

以上是如何理解Js跨域的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn