请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答

3回答

同学你好,这个报错是预检请求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 如果不能解决你的问题,可以继续追问。


0 回复 有任何疑惑可以回复我~
  • 提问者 qq_习惯就好_21 #1
    我这边是做了跨域处理的  .net  core API程序 启动有两个端口  我配置的5000 但是Vue请求的时候就自动从5000转到5001去了  现在改成5001就没问题了
    回复 有任何疑惑可以回复我~ 2020-05-21 14:57:36
提问者 qq_习惯就好_21 2020-05-20 19:17:33


https://img1.sycdn.imooc.com//szimg/5ec511960905de8907710282.jpg无法进入到response里面   错误信息

Access to XMLHttpRequest at 'http://localhost:5000/Login/Login' from origin 'http://localhost:9527' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.

0 回复 有任何疑惑可以回复我~
扬_灵 2020-05-20 17:09:42

同学你好,麻烦报错截图发一下,这样好根据具体错误信息来定位问题。

0 回复 有任何疑惑可以回复我~

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号