同源策略:(浏览器提出的安全策略)同源是指协议、端口、域名都相同,不同源的客户端脚本在没有明确授权的情况下不能读写对方的资源。
虽然浏览器的同源策略可以防止自己的数据丢失被黑客窃取(当然这只是同源策略的一种好处这里不做过多介绍),但是也相应的阻碍了开发人员在合理范围内获取其他页面的数据。因此跨域就成了不可避免的一个问题,下面开始介绍跨域
跨域解决方案:
一、对方后端允许我们跨域
1)Jsonp跨域(Jsonp是一种特殊的数据格式):script设置src为请求的url拼接callback,js中定义这个回调内部并操作返回的数据即可
2) 对方后端设置access-control-allow-origin属性
二、对方后端不允许我们跨域
1)iframe——只能显示不能控制
2)document.domain——针对有相同基础域名的域名:JS中直接设置document.domain = 基础域名,就可以相互访问数据了
3)通过后端代理(自己的后端)