跨域:浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议(http和https不同)任一不同,都是跨域。
为什么会有跨域:
在前后端分离的模式下,前后端的域名是不一致的,此时就会发生跨域访问题。在请求的过程中我们要想回去数据一般都是post/get请求,所以跨域问题出现;跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号(如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。跨域问题是针对JS和ajax的,html本身没有跨域问题,比如a标签、script标签、甚至form标签(可以直接跨域发送数据并接收数据)等。
解决方案:
1.使用CORS解决跨域问题
2.使用jsonp
3.修改"Access-Control-Allow-Origin:*"