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() //放行, 让请求继续执行
})