egg.js+axios怎么解决非简单请求跨域报错?

发布于 2022-09-12 13:44:13 字数 1528 浏览 53 评论 0

问题描述

前端用axios请求,后端用自己写的egg.js本机服务。post请求时报错.
图片.png

localhost/:1 Access to XMLHttpRequest at 'http://127.0.0.1:7001/admin/checkLogin' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Credentials' header in the response is '' which must be 'true' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.
10:37:12.595 xhr.js:177 POST http://127.0.0.1:7001/admin/checkLogin net::ERR_FAILED

相关代码

前端代码:

axios({
      method: 'post',
      url: 'http://127.0.0.1:7001/admin/checkLogin',
      data: dataProps,
      withCredentials: true,
      'Content-Type':'application/json;charset=UTF-8',
      "Access-Control-Allow-Credentials": true,
      "Access-Control-Allow-Headers":"Authorization,Origin, X-Requested-With, Content-Type, Accept",
      "Access-Control-Allow-Methods":"GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS"
    }).then(
      res => {}
    )

服务端config.default.js代码:

config.security = {
    crsf: {
      enable: false,
    },
    domainWhiteList: [ '*' ],
  };
config.cors = {
    origin: 'http://localhost:3000',
    credential: true, // 开启认证
    withCredentials: true,
    allowMethod: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS',
  };

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

断舍离 2022-09-19 13:44:13

再次认真看了@koa/cors的文档,发现这个报错是自己把credentials拼错了,少写了一个s,刚接触node,见笑了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文