为什么会出现跨域问题
跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号(如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。
跨域问题是针对JS和ajax的,html本身没有跨域问题,比如a标签、script标签、甚至form标签(可以直接跨域发送数据并接收数据)等
如何解决跨域问题
解决跨域问题有如下方法
代理
使用webpack
在访问服务端的时候使用满足 同源策略 的代理作为中间层。
分两步
第一步
客户端发送请求时
不直接到服务器
而是先到代理的中间层
再由代理层向服务器转发请求
第二步
当服务器返回数据的时候,也是先到代理的中间层
代理中间层再返给客户端
因为代理中间层满足 “同源策略”
所以就避免了跨域的问题
客户端也能得到响应
回答模板
使用代理的方式。设置一个代理层。客户端发起请求时,由满足客户端同源策略的代理层转发给服务器。服务器响应时,由代理层接受,再响应回给客户端。这样就避免了跨域的问题