【问题标题】:Calling express API from different domain从不同的域调用 express API
【发布时间】:2018-10-02 22:03:18
【问题描述】:

我是 Express.js 的新手,并且正在制作 API。我很困惑。我正在尝试在我的域上设置一个 rest api,以便我可以输入http://example.com:3000/api/endpoint,然后让它从我的域上运行的数据库返回数据。 express api 正在我的域上运行。但是,输入端点的 url 并不能返回我想要的数据。但是,当我 ssh 进入我的域并运行

卷曲http://localhost:3000/api/endpoint

我想要的数据被打印出来了。如何让 express api 不仅在“localhost”上工作,而且在它运行的域上工作,这样我就可以输入域本身并获取我想要的数据?

谢谢!

【问题讨论】:

  • 在某个服务器上部署它。 heroku
  • 您在尝试时收到什么消息:example.com:3000/api/endpoint?您在哪里托管您的快速应用程序?
  • 您的域需要指向您服务器的公共 IP 地址,并且该服务器需要可从开放的 Internet 访问。如果这是在您的家庭网络上运行的,那么其中一个或两个可能是一个问题。

标签: javascript express


【解决方案1】:

我会看看ngrok。它只是一种允许您在 localhost 上运行某些东西但允许它在外部可用的选项。

https://ngrok.com/

【讨论】:

    【解决方案2】:

    我假设您在这里遇到了 CORS 问题?

    您说您已将其部署在某处(我假设可以从外部访问),但您无法从(我假设)浏览器查询它?

    如果是这种情况,请在此处阅读:https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS。您可以通过安装此库将 CORS 添加到您的 ExpressJS 应用程序中:https://www.npmjs.com/package/cors

    【讨论】:

      猜你喜欢
      • 2012-02-01
      • 1970-01-01
      • 2020-06-23
      • 2020-12-26
      • 1970-01-01
      • 1970-01-01
      • 2018-11-27
      • 1970-01-01
      • 2014-12-19
      相关资源
      最近更新 更多