[TOC]

页面的访问地址
数据接口的请求地址
协议,域名,端口号 三个只要有一个不一样,就是跨域

跨域产生的原因和意义

  • 服务器分离:WEB服务器、数据服务器、图片服务器…
  • 云信息共享:第三方API接口
  • 有助于分离开发:开发跨域、部署同源

常用三种方案 :

  • 修改本地HOST
  • JSONP
  • CORS
  • Proxy

/
情况1:开发时候是跨域的「解决」,但是服务器部署的时候是同源的
+ 修改本地HOST「DNS解析」
核心:骗过浏览器,让浏览器认为是同源,但是本质还是跨域
/
/

情况2:开发和上线都是跨域的
+ JSONP「不安全,并且只支持GET请求」
+ 杂七杂八的方案
+ document.domain + iframe
+ window.name + iframe
+ H5 postMessage
+ …
+ CORS跨域资源共享
+ proxy跨域代理 「目前最常用的是他」
/

/
JSONP
利用