【问题标题】:MeteorJS REST API from External URL (using CollectionsFS)来自外部 URL 的 MeteorJS REST API(使用 CollectionsFS)
【发布时间】:2015-11-01 18:23:14
【问题描述】:

我们已经使用 CollectionFS 的 http-methods 包 (https://github.com/CollectionFS/Meteor-http-methods) 实现了一个 API

但是,此 API 需要从另一个(外部)域调用,这意味着我们的 API 服务器必须响应预检 OPTIONS 方法并将 Access-Control-Allow-Origin 标头设置为 * 或外部域。

不幸的是,虽然网上充斥着各种建议,主要是对 Meteor 的移动应用程序/cordova 的支持。尝试通过外部域访问 API 端点时,我找不到有效的解决方案。

有什么建议吗?

P.S - 请避免提出不实现 API 而是使用 DDP 的建议,因为它们与这种情况无关。

【问题讨论】:

  • 你在方法体中尝试过this.addHeader("Access-Control-Allow-Origin", "http://your.domain.com")吗?
  • 是的,没有区别
  • 这很奇怪。这可能需要更多信息。您是否检查了标头是否已发送?您是否能够创建另一个(自定义)标题?也许问题不同。
  • 我刚刚再次测试了这个,我能够收到所需的标题。
  • 感谢@MasterAM - 你是/是对的!

标签: javascript meteor cors


【解决方案1】:

该包允许在方法主体中使用this.addHeader(name, value) 设置标头。

默认情况下,为 Cordova ("http://meteor.local") 设置了一个 Access-Control-Allow-Origin 标头,添加此类标头将替换它。

因此,设置 this.addHeader("Access-Control-Allow-Origin", "http://your.domain.com") 将允许 http://your.domain.com 调用 API。

【讨论】:

    猜你喜欢
    • 2019-12-12
    • 2014-04-21
    • 2017-10-05
    • 2014-08-17
    • 1970-01-01
    • 2018-12-10
    • 2022-07-06
    • 1970-01-01
    • 2019-07-04
    相关资源
    最近更新 更多