1、由于瀏覽器同源策略,凡是發送請求url的協議、域名、端口三者之間任意一與當前頁面地址不同即為跨域。
2、跨域請求資源的方法:
(1)、porxy代理(反向服務器代理)
首先將用戶發送的請求發送給中間的服務器,然后通過中間服務器再發送給后臺服務器,然后在將返回的結果返回給前端。
(2)CORS
后臺來設置一個允許跨域的操作
res.writeHead(200, {"Content-Type": "text/html; charset=UTF-8","Access-Control-Allow-Origin":'http://localhost','Access-Control-Allow-Methods': 'GET, POST, OPTIONS','Access-Control-Allow-Headers': 'X-Requested-With, Content-Type' });
(3)jsonp---只支持get請求
通過動態創建script來讀取他域的動態資源,獲取的數據一般為json格式。
<script>function testjsonp(data) {console.log(data.name); // 獲取返回的結果} </script> <script>var _script = document.createElement('script');_script.type = "text/javascript";_script.src = "http://localhost:8888/jsonp?callback=testjsonp";document.head.appendChild(_script); </script>