node解决跨域
ajax请求遵循同源策略,违反同源策略就会出现跨域问题同源策略MDN文档
- 跨域出现的三种情况:
1.协议不同——如:http -> https
2.域名(主机名)不同
3.端口不同
解决
app.all("*",function(req,res,next){
//设置允许跨域的域名,*代表允许任意域名跨域
res.header("Access-Control-Allow-Origin","*");
//允许的请求头header类型,这里设置了content-type,按需求设置就好
res.header("Access-Control-Allow-Headers","content-type");
//跨域允许的请求方式
res.header("Access-Control-Allow-Methods","DELETE,PUT,POST,GET,OPTIONS");
if (req.method.toLowerCase() == 'options')
res.send(200); //让options尝试请求快速结束
else
next();
})