angular - 从 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"
}
解决方案
如果 iotech.ddns.net 在您的控制之下并且它被用作前端 api,您可以添加 CORS 标头以允许 localhost:4200 如果没有,您必须编写您的 API 服务器(通过 PHP、.net、python、node.. .),然后从您的服务器调用 iotech.ddns.net 并将结果返回到带有 cors 标头的前端。
推荐阅读
- c++ - 从读取之前关闭的文件中读取
- jquery - 我正在尝试触发 onchange 功能而不点击它
- optimization - 无限滚动内存优化问题
- angular - Angular 无法通过调用服务来传递路由数据
- javascript - 需要帮助将正则表达式到期日期 (MM/YY) 客户端验证 JavaScript 中的月份 (MM) 限制为 01-12
- c# - 如何在 linq where 中使用 TryParse
- react-native - 在 react-native-web 上实现 react-native-paper 时出现错误
- javascript - 按钮值不变
- sql - 周数作为列名
- javascript - iframe 的内容始终为空