同源
- 什么是同源
- 协议 & 域名 & 端口号 都一直的情况才算同源
- 查看源
- window.origin 或 location.origin 可以查看当前当前源
- 源
- 协议+域名+端口号
同源策略
- 浏览器规定如果JS运行在源A里,就只能获得源A的数据,不能获得源B的数据,即不允许跨域
如何解决跨域
CORS
- 跨资源共享
javascript Access-Control-Allow-Origin:协议+域名
JSONP
- 当浏览器不支持CORS方式,必须使用一种方式跨域,于是就请求一个js文件去执行一个回调,回调里面有请求的数据,回调的名字可以随机动态生成,已classbback命名的参数传给后台
- JSONP的优缺点
- 优点
- 兼容ie
- 缺点
- 只能接收成功和失败,读不到其他信息
- 只能用get请求
## 问答
- 为什么可以跨域使用css\js和图片等
- 同源策略限制的是数据访问,我们引用css,js和图片的时候,其实并不知道内容,只是所谓引用