跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。
所谓同源是指,域名,协议,端口均相同,简单的讲加入你的前端页面是挂在某个站点下的,它有属于自己的协议,域名,端口,加入请求的资源(比如接口),与它在协议,域名,端口号上有一个不同。就要实现跨域。才能请求获得相应的资源。
既然浏览器有同源安全策略,我们就有各种方法实现跨域。那么都有哪些跨域方法呢?
同源讲解:阮大牛:浏览器同源政策及其规避方法 - 阮一峰的网络日志
http://www.ruanyifeng.com/blog/2016/04/same-origin-policy.html
阮一峰大牛CORS 跨域——CORS详解
https://zhuanlan.zhihu.com/p/24411090
MDN HTTP access control (CORS)
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
推荐大家再看看MDN上的讲解,特别是那张图。特别好。
解释了什么情况下回出现options请求,为什么会出现,设置了cors之后还会出现的原因。还需要设置什么。你有可能会看的很晕。没能认真看完或看懂的。下面说一下简单粗暴的方式。chrome跨域。
最新版chrome谷歌浏览器Ajax跨域调试问题 - 丁汤汤_最前端 - CSDN博客
http://blog.csdn.net/u010035608/article/details/51158904
直接设置就可以了。之后你就会发现post请求出现options请求不成功的情况,就不存在了。
另外还有一种跨域方案叫csp跨域了解不是很多。大家有兴趣可以去了解了解。