首页 > 解决方案 > 从 Angular 10 访问时在 Hasura Graphql 上遇到 CORS 问题

问题描述

在此处输入图像描述我在 localhost:4200 上运行 Angular 应用程序,而 GraphQL 使用以下环境运行。

export const environment = {
  BASE_URL: 'https://iotech.ddns.net/',
  LOGIN_URL: 'https://iotech.ddns.net/',
  METRIC_VALUES_URL: `${'https://iotech.ddns.net/' + 'gql/'}v1/graphql`,
  REST_BASE_URL: ' https://iotech.ddns.net/config/api/v1/',
  production: true,
  hmr: false,
  staging: false,
  POLL_RATE: 10000
};

根据 GraphQL,它提到 CORS 已启用,但我在访问时遇到错误。我还添加了 proxy.config.json 但没有任何帮助。

{
    "/gql/v1/graphql": {
      "target": "https://iotech.ddns.net/",
      "pathRewrite": { "^/api": "" },
      "secure": false
    },
    "logLevel": "debug"
  }

标签: angulargraphqlhasura

解决方案


如果 iotech.ddns.net 在您的控制之下并且它被用作前端 api,您可以添加 CORS 标头以允许 localhost:4200 如果没有,您必须编写您的 API 服务器(通过 PHP、.net、python、node.. .),然后从您的服务器调用 iotech.ddns.net 并将结果返回到带有 cors 标头的前端。


推荐阅读