为什么会出现跨域问题

跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号(如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。

跨域问题是针对JS和ajax的,html本身没有跨域问题,比如a标签、script标签、甚至form标签(可以直接跨域发送数据并接收数据)等


如何解决跨域问题

解决跨域问题有如下方法

代理

使用webpack

在访问服务端的时候使用满足 同源策略 的代理作为中间层。

分两步

第一步

客户端发送请求时

不直接到服务器

而是先到代理的中间层

再由代理层向服务器转发请求

第二步

当服务器返回数据的时候,也是先到代理的中间层

代理中间层再返给客户端

因为代理中间层满足 “同源策略

所以就避免了跨域的问题

客户端也能得到响应


回答模板

使用代理的方式。设置一个代理层。客户端发起请求时,由满足客户端同源策略的代理层转发给服务器。服务器响应时,由代理层接受,再响应回给客户端。这样就避免了跨域的问题