跨域

跨域产生的原因
web开发者都会遇到的一个问题跨域----> 浏览器的同源策略导致了跨域
同源策略:
同源策略:同协议、同域名、同端口
为什么会有同源策略:
同源策略主要是为了安全,如果没有同源策略那么浏览器中的cookie等数据就会被人随意读取,不同域下的DOM任意操作,ajax任意请求就会造成泄漏隐私数据。
解决跨域
jsonp:网页中添加一个script元素,向服务器请求json数据,这种做法不受同源策略的限制,服务器接收到请求后,把数据放在一个指定名字的后调函数里传递回来。
CORS:全称“跨域资源共享”
CORS需要浏览器和服务器同时支持,才可以实现跨域请求,目前几乎所有浏览器都支持CORS,IE则不能低于IE10。CORS的整个过程都由浏览器自动完成,前端无需做任何设置,跟平时发送ajax请求并无差异。实现CORS的关键在于服务器,只要服务器实现CORS接口,就可以实现跨域通信。
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Content-Type,Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE,OPTIONS');

app.use("/",(req,res,next)=>{
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Content-Type,Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE,OPTIONS');
// 千万不要忘了
next()
})
http-proxy-middleware 实现代理跨域:用于把请求代理转发到其他服务器的中间件。

上一篇:CORS( 跨域资源共享)——实例介绍


下一篇:ajax跨域最全解决方案