当前位置:   article > 正文

axios、node交互跨域请求_nodejs发起axios请求有哪些限制

nodejs发起axios请求有哪些限制

axios不能跨域请求,但是如何服务器端设置了
res.header(“Access-Control-Allow-Origin”, ‘*’);访问权限所有
axios便能够访问了

在此中如何未设置access-control-allow-origin,post请求报错
Failed to load http://localhost:3000/goods/addCart: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:8080’ is therefore not allowed access.

在此中如何未设置access-control-allow-origin,get请求报错
Failed to load http://localhost:3000/goods/list?page=4&pageSize=8&sort=1&priceLevel=all: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:8080’ is therefore not allowed access.

为post请求设置access-control-allow-origin,又会报一个错
Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight respon

最终实现的解决方案:
在app.js设置统一设置

//设置跨域访问
app.use(function (req, res, next) {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
  res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');

  if (req.method == 'OPTIONS') {
    res.send(200); /*让options请求快速返回*/
  } else {
    next();
  }
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/104430
推荐阅读
相关标签
  

闽ICP备14008679号