跨域问题发生的条件是什么:

  • 浏览器环境:如果是其他例如curl postman就不会触发跨域问题
  • Fetch/XHR请求,用Js发起AJAX请求
  • 同源限制:不同源

核心表现: 浏览器发起请求,就算收到数据过后,浏览器会检查CORS头,来查看是否是同源,如果不同源,直接把数据丢弃,抛出错误

存在原因: 同源策略主要是为了隔离。它确保了 A 网站的脚本只能操作 A 网站的数据,不能去偷窥 B 网站的数据

历史原因: 以前的web服务不分前后端,相是PHP,JSP,域名一样,没有跨域问题,现在前后端分离过后,就需要解决这个跨域问题了

跨域问题解决方法