【问题标题】:API request blocked by CORSAPI 请求被 CORS 阻止
【发布时间】:2020-08-16 21:06:38
【问题描述】:

我正在尝试在从 localhost 运行的 vuejs 应用程序中使用 g-trends API,但由于 CORS 限制,我的请求一直被阻止:不存在“Access-Control-Allow-Origin”标头在请求的资源上。

我知道如何在执行获取请求时解决该问题,但不是在我实际上看不到请求 URL 的情况下,例如使用 API 时。有没有办法解决这个问题?

const { ExploreTrendRequest } = require('g-trends');
const explorer = new ExploreTrendRequest();
explorer.past5Years()
        .addKeyword("keyword")
        .download().then(csv => {
          console.log(csv)                         
        })

【问题讨论】:

  • 我猜这个包不应该在客户端使用。让您的后端发出请求并将它们转发到您的 Vue 应用程序。 (并且在 URL 中插入 cors-anywhere 不是解决办法;)
  • 不幸的是,我无权访问该项目的后端:/
  • @ChrisG 其实g-trends 是一个客户端模块。 npmjs.com/package/g-trends
  • @CiBoz 你怎么看?我查看了那个链接,但没有看到任何说“客户端”的内容。
  • 它声明G Trends client is designed to be ... Client 表示客户端。还是我错了?

标签: javascript vue.js cors fetch google-trends


【解决方案1】:

我通常使用代理服务器来避免这种情况,您的应用程序要求您的服务器为您执行该请求,因此与 API 的通信由您的服务器管理,当您的服务器收到答案时,它会将其转发给您的应用程序并不会有任何 CORS 问题。

【讨论】:

    猜你喜欢
    • 2018-10-18
    • 2022-11-01
    • 2020-10-02
    • 2020-07-18
    • 2022-01-24
    • 2022-01-14
    • 2020-08-16
    • 2019-11-30
    • 2018-09-12
    相关资源
    最近更新 更多