整理跨域问题

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请求的是本地接口
本地接口接收到请求后向实际的接口请求数据,而后再将信息返回给前端
相关文章
相关标签/搜索