整理跨域問題

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請求的是本地接口
本地接口接收到請求後向實際的接口請求數據,而後再將信息返回給前端
相關文章
相關標籤/搜索