1、什麼是跨域前端
1.域名地址組成:jquery
http:// www . google : 8080 / script/jquery.jsajax
- http:// (協議號)
- www (子域名)
- google (主域名)
- 8080 (端口號)
- script/jquery.js (請求的地址)
2.當協議、子域名、主域名、端口號中任意一各不相同時,都算不一樣的「域」。不一樣的域之間相互請求資源,就叫「跨域」。跨域
2、出現跨域問題的狀況服務器
會出現問題的幾種狀況
序號 url 說明 是否容許通訊 1 http://www.a.com/a.jsgoogle
http://www.a.com/b.jsurl
同一域名下 容許 2 http://www.a.com/a/a.jsspa
http://www.a.com/b/b.js代理
同一域名不一樣文件夾 容許 3 http://www.a.com: 8080 / a.jscode
http://www.a.com: 9090 / a.js
同一域名不一樣端口號 不容許 4 http://www.a.com/a.js
https://www.a.com/b.js
同一域名不一樣協議 不容許 5 http://www.a.com/a.js
http://192.168.4.158/b.js
域名與域名對應的ip地址 不容許 6 http://www.a.com/a.js
http://wwww.a.com/b.js
主域名相同,子域名不一樣 不容許 7 http://www.a.com/a.js
http://www.b.com/b.js
不一樣域名 不容許 3、處理跨域的方法
- JSONP
- XHR2
只須要在服務器端頭部加上下面兩句代碼:
header( "Access-Control-Allow-Origin:*" ); header( "Access-Control-Allow-Methods:POST,GET" );
- 代理
前端ajax請求的是本地接口 本地接口接收到請求後向實際的接口請求數據,而後再將信息返回給前端