Cube.js CORS。无法显示查询的数据

Cube.js CORS。无法显示查询的数据,cors,cube.js,Cors,Cube.js,我有一个问题我无法解决。 我在计算引擎虚拟机的GCP中工作。我在这里学习教程 我的数据库是一个MySQL数据库,托管在GCP的CloudSQL上。 在本教程之后,我能够完成后端设置并在localhost:4000上启动cube.js服务器,在那里我可以为数据库中的表生成模式。在构建页面上;但是,我遇到一个错误,上面写着“error:SyntaxError:Unexpected token

我有一个问题我无法解决。 我在计算引擎虚拟机的GCP中工作。我在这里学习教程

我的数据库是一个MySQL数据库,托管在GCP的CloudSQL上。 在本教程之后,我能够完成后端设置并在localhost:4000上启动cube.js服务器,在那里我可以为数据库中的表生成模式。在构建页面上;但是,我遇到一个错误,上面写着“error:SyntaxError:Unexpected token<在JSON中的位置0”。在浏览器的控制台中,我看到以下消息:

'在上访问清单'https://accounts.google.com/o/oauth2/v2/auth?client_id=client_id.apps.googleusercontent.com&redirect_uri=https%3A%2F%2Fssh.cloud.google.com%2Fdevshell%2Fgateway%2Foauth&response_type=code&scope=email&state=“(已从中重定向”https://4000-cs-689214227613-default.cs-us-west1-olvl.cloudshell.dev/manifest.json')源于https://4000-cs-689214227613-default.cs-us-west1-olvl.cloudshell.dev'已被CORS策略阻止:请求的资源上不存在'Access Control Allow Origin'标头。'

第三个url是'https://4000-cs-689214227613-default.cs-us-west1-olvl.cloudshell.dev,在上面的消息中打开一个页面,其中列出的错误更长,我可以根据需要构建图表。因此,暂时单击第三个链接可以让我绕过错误并访问游乐场的功能

接下来,在本教程的前端部分之后,我能够在localhost:3001上启动前端服务。我已经将REACT_APP_API_URL定义为localhost:4000/cubejs API/v1,正如教程所建议的那样。启动前端服务时,页面不会呈现并显示“Loading…”,这意味着“resultSet”为空,因为提供的代码假定为空,控制台中出现以下错误:

'在'localhost_400/cubejs api/v1/load'查询中访问XMLHttpRequest=%7B%22%3A%5B%22事件。计数%22%5D%2C%22时间维度%22%3A%5B%7B%22维度%22%3A%22事件。事件日期%22%2C%22dateRange%22%3A%5B%22107-01-01%22%2C%2212019-12-31%22%5D%2C%22粒度%3A%22%22月%22%7D%7D%7D&查询类型=多个源本地主机'3000'已启用'被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:飞行前请求不允许重定向。“

上面消息中的第一个url,
'localhost\u 400/cubejs api/v1/load?查询=%7B%22度量%22%3A%5B%22事件。计数%22%5D%2C%22时间维度%22%3A%5B%7B%22维度%3A%22事件。事件日期%22%2C%22日期范围%22%3A%5B%22107-01-01%22%2C%2212019-12-31%22%5D%2C%22%22粒度%22%3A%22%22%22月%7D%7D%7D&queryType=multi'
打开一个包含json查询响应的页面前端告诉我:

  • 前端能够与cubejs服务器通信以向其传递查询
  • cubejs服务器能够对读取数据库表生成的模式运行查询
  • cubejs服务器正在返回请求的数据
  • 现在,我被卡住的部分: CORS问题存在于何处 1) 是因为CloudSQL不知道请求的来源,所以没有响应;如果是这种情况,那么我怎么能够查看查询的结果? 2) 是Cubejs服务器不知道请求的来源吗?我在cube.js文件中有这段代码,在我有限的理解中,它应该解决这些问题,但没有:

    module.exports = {
      http: {
        cors: {
          origin: '*',
        },
      },
    };
    
    我已经安装并打开了Moesif CORS,但这没有帮助


    如果您在使用cubejs或在云环境中遇到类似问题,我很想听听您的意见,并可能通过聊天更好地了解您是如何解决此问题的。

    我面临类似的问题,但您应该调查的一件事是,这些错误是否真的是COR。我在CORS中看到铬屏蔽了几个错误,我不知道为什么。我安装了“CORS Unblock”,现在我可以看到真正的错误。