【问题标题】:Vue axios post request blocked by CORS policy [duplicate]Vue axios发布请求被CORS策略阻止[重复]
【发布时间】:2020-06-02 22:02:55
【问题描述】:

Vue axios 发布请求

axios.post(`${this.host}:${this.port}/apiv2/login`, {
        body: {
          userName: this.user,
          password: this.pwd
        }
      });

导致错误:

Access to XMLHttpRequest at 'http://localhost:9047/apiv2/login' from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

python 请求、邮递员或简单的 curl 可以毫无错误地完成这项工作

curl 'http://localhost:9047/apiv2/login' -H 'Content-Type: application/json' --data-binary '{"userName":"user","password":"pass"}'

更新: 这是我的解决方案:

我添加了 NodeJS 服务器 (localhost:8081)。现在 Vue (localhost:8080) 正在访问 NodeJS,而 NodeJS 正在查询 Dremio API (localhost:9047)。

只有静态 Vue 应用的想法行不通。

【问题讨论】:

标签: vue.js cors axios


【解决方案1】:

第一个:尝试在里面添加{'Access-Control-Allow-Origin': '*'},然后再试一次。 如果不起作用,请转到您的“Localhost:8080”并将访问控制来源设置为 *,然后再试第一步

【讨论】:

  • 在生产环境中,这会使服务器容易受到 XSS 攻击。不推荐。
  • 是的,我的意思是如果这一步有效,那么继续设置cors。
猜你喜欢
  • 2019-10-01
  • 2021-10-13
  • 2018-07-20
  • 2017-05-31
  • 2020-08-27
  • 2022-01-14
  • 2020-08-15
  • 2019-09-30
  • 2019-11-30
相关资源
最近更新 更多