简单理解并且解决跨域的问题

1.什么叫做跨域?

答案:浏览器具有同源策略:同源策略:一个网页内部,通过js发送ajax请求,问了了安全性的考虑,
默认情况下,只允许向当前网页相同的服务器发送请求 

其中包括: 协议//域名//端口号

其中包括: http://www.codeboy.com:9999 

协议 : http

域名 : www.codeboy.com

端口号:9999

这就是跨域:关键词:Access-Control-Allow-Origin

如何解决; 三种方案

cors: 服务器人员解决,前端不用做事情 ,适合服务器代码可以修改用法: 在服务器添加白名单,允许其他来源的访问

proxy: 代理方案; 需要自己制作代理服务器,适合服务器代码不可修改

jsonp:服务器和前端人员共同解决,修改量大,影响范围广,目前接近淘汰,使用量少

cors:

//cors解决方案 : 为所有请求添加一个前置拦截器
//all()所有类型的请求,例如 get post  put delete
// '*'代表所有的接口 .例如 /name , /xxx
//在请求拦截
 app.all('*',(req,res,next)=>{   
            //header :响应头-  
            //允许来自'*'的访问,  *是通配符 代表所有域名
    res.header('Access-Control-Allow-Origin','*')
              //如果不调用,请求在这里终止 ,被拦截
   next()    //放行, 让请求继续执行

 })


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值