详细梳理ajax跨域4种解决方案
前言 # 自动接触前端,跨域这个词就一直萦绕在耳畔。因为一般接手的项目都已经做好了这方面的处理,而且之前一直感觉对这方面模棱两可,所以今天就抽个时间梳理一下。 为什么需要跨域 # 跨域这个概念来自一个叫 “同源策略” 的东西。同源策略是 浏览器 (注意是浏览器,跟通信协议无关)上为了安全考虑实施的非常重要的安全机制。 Ajax 默认只能获取到同源的数据,对于非同源的数据,Ajax是获取不到的。 什么是同源? # 协议相同 域名相同 端口相同 举例来说, http://www.example.com/dir/page.html 这个网址,协议是 http:// ,域名是 www.example.com ,端口是 80 (默认端口可以省略)。这个网址,在这个地址中要去访问下面服务器的数据,那么会发生什么情况呢? URL 结果 原因 https://www.example.com/dir/other.html 不同源 协议不同,https 和 http http://en.example.com/dir/other.html 不同源 域名不同 http://www.example.com:81/dir/other.html 不同源 端口不同 http://www.example.com/dir/page2.html 同源 协议,域名,端口都相同 http://www.example