跨域总结

目前很多应用开发都是多客户端的,前端调用后端提供的 API 来获取数据,很多都是前后端分离的架构,但这样相比之前的单应用系统会带来跨域的问题。

0、什么是跨域问题

前端调用的后端接口不属于同一个域(域名或端口不同),就会产生跨域问题,也就是说你的应用访问了该应用域名或端口之外的域名或端口。

1、为什么会发生跨域问题

要同时满足三个条件才会产生跨域问题,这也就是为什么会产生跨域的原因。

  • 1、浏览器限制,而不是服务端限制,可以查看Network,请求能够正确响应,response返回的值也是正确的
  • 2、请求地址的域名或端口和当前访问的域名或端口不一样
  • 3、发送的是XHR(XMLHttpRequest)请求,可以使用 a 标签(xhr请求)和 img 标签(json请求)做对比(控制台只报了一个跨域异常)

关于 XMLHTTPRequest 可以参看这篇文章 《你真的会使用XMLHttpRequest吗?》

本文作者:Wizey

本文链接:http://wenshixin.gitee.io/blog/2019/04/29/跨域总结/

版权声明:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!