node.js 下cors跨域的问题
错误展示
错误原因
发生跨域请求,需要解决跨域问题。
解决方法
解决方法有2种:
1:方法一:
//设置跨域访问
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By",' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
这个方法用的比较少,建议用方法二
2:方法二:
借助cors这个模块来解决这个问题。
npm install cors --save 或者 npm install cors -D
//导入
var cors = require('cors');
//挂载
app.use(cors({
origin:['http://localhost:8083'],
methods:['GET','POST'],
alloweHeaders:['Conten-Type', 'Authorization']
}));
不知道什么原因导致这个错的时候
Error: Cannot find module ‘cors’
有这个错误的时候 要看看
1:是否导入 cors 模块
2:是否挂载 app.use(cors());
以上两个都没有的时候看是否安装,查看package.json中是否有 “cors”: “^2.8.5”,没有的话就是没有安装,这时在终端手动安装 npm install cors -D