同学你好,这个报错是预检请求OPTIONS请求中不允许出现重定向,出现这个问题的原因是因为我们在node的项目中使用了cors插件对请求源做了设置,允许所有的域名可以访问,你在这边请求时没有做跨域处理。你可以试一下cors插件或者使用下面的代码做跨域的处理
//设置跨域访问
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();
});跨域资源共享(CORS),当前端向后台获取接口时,浏览器会将CORS分成两种请求,一种是简单请求即请求方式为get,post,方式的请求,这时浏览器会在请求时会向内部添加一个origin里面包含了请求的源地址信息。另外一种就是非简单模式,即请求方式为put,delete或者Content-Typ的类型为application/json时,浏览器会先向服务器发送一个预检请求,判断浏览器是否设置了该源地址允许访问,如果没有设置允许访问就回报错。如果设置了允许访问就会发送请求。
关于CORS的详细介绍你可以去看一下阮一峰的《跨域资源共享CORS详解》http://www.ruanyifeng.com/blog/2016/04/cors.html 如果不能解决你的问题,可以继续追问。