什麼是跨域
瀏覽器有同源策略,不允許ajax 訪問其他域的介面
跨域條件:協定、網域、端口,有一個不同就算跨域
http 預設連接埠是80
https 預設連接埠是443
有三個標籤允許跨網域載入資源
// 可用於打點統計,統計網站可能是其他域
// 可以用於JSONP,也能使用CDN
// 可以使用CDN,CDN的也是其他域
跨域的幾種方式
# 1、JSONP 跨域的資料請求
JSONP 實作原理
1、載入http://www.baidu.com/test.html
2、不一定服務端真正有一個test.html 文件
3、伺服器可以根據請求,動態產生一個test.html 文件,回傳
4、同理於
<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中文網其他相關文章!