在 Firebase 的 Cloud Functions 中启用 CORS

2023-11-26

我目前正在学习如何使用新的 Firebase Cloud Functions,我遇到的问题是我无法访问我通过 AJAX 请求编写的函数。我收到“无‘访问控制允许来源’”错误。这是我编写的函数的示例:

exports.test = functions.https.onRequest((request, response) => {
  response.status(500).send({test: 'Testing functions'});
})

该函数位于以下网址:https://us-central1-fba-shipper-140ae.cloudfunctions.net/test

Firebase 文档建议在函数内添加 CORS 中间件,我已经尝试过,但它对我不起作用:https://firebase.google.com/docs/functions/http-events

我就是这样做的:

var cors = require('cors');    

exports.test = functions.https.onRequest((request, response) => {
   cors(request, response, () => {
     response.status(500).send({test: 'Testing functions'});
   })
})

我究竟做错了什么?我将不胜感激任何帮助。

UPDATE:

道格·史蒂文森的回答有帮助。添加({origin: true})解决了问题,我也必须改变response.status(500) to response.status(200)一开始我完全错过了。


Answer recommended by Google Cloud Collective

那里有两个示例函数由 Firebase 团队提供,演示了 CORS 的使用:

  • 具有日期格式的时间服务器
  • 需要身份验证的 HTTPS 端点

第二个示例使用与您当前使用的不同的 cors 工作方式。

考虑像这样导入,如示例所示:

const cors = require('cors')({origin: true});

你的函数的一般形式将是这样的:

exports.fn = functions.https.onRequest((req, res) => {
    cors(req, res, () => {
        // your function body here - use the provided req and res from cors
    })
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Firebase 的 Cloud Functions 中启用 CORS 的相关文章

  • 以编程方式填写reactjs表单

    我正在编写一个用户脚本 但无法填写由reactjs制作的表单 我的代码 document querySelector id username value email protected cdn cgi l email protection
  • Three.js:缩放几何图形后错误的 BoundingBox

    在我的场景中 我有一个简单的立方体 var test new THREE Mesh new THREE CubeGeometry 10 10 10 new THREE MeshBasicMaterial scene add test 该立方
  • 如何使用javascript将大图像转换为十六进制?

    如果我尝试将图像转换为十六进制 无论我使用哪个函数 我都会收到此错误消息 该图像的大小为 7 MB 19812 毫秒 清理 1401 2 1455 0 gt 1401 2 1455 0 MB 9 9 0 ms 自上次 GC 以来 8 3 m
  • 如何将内联 JavaScript 与 Express/Node.js 中动态生成的内容分开?

    对于具有几年 Web 开发经验但没有找到答案的人来说 这是一个有点菜鸟的问题程序员堆栈交换 or Google 我决定在这里问一下 我在用Express网络框架Node js 但这个问题并不特定于任何 Web 框架或编程语言 以下是从数据库
  • 摩卡 - Chai Karma“套件未定义”

    我对 jscript tdd 很陌生 遇到了问题 希望有人能告诉我我在做什么 在浏览器中运行测试 通过 HTML 文件 一切正常 通过节点和业力运行它们我得到以下异常 我想在 node js 主机的 karma 中使用 Mocha 和 Ch
  • 可以在初始 DOM 解析期间/之前修改 DOM 吗?

    是否可以在初始 DOM 解析期间或之前修改 DOM 或者我是否必须等到 DOM 被解析和构建之后才能与其交互 更具体地说 是否有可能阻止 DOM 中的脚本元素使用用户脚本 内容脚本或 Chrome 或 Firefox 中的类似脚本运行 在解
  • 如何纠正流警告:解构(缺少注释)

    我正在编写一个小型 React Native 应用程序 并且正在尝试使用 Flow 但我无法在任何地方真正获得有关它的正确教程 我不断收到错误 destructuring Missing annotation 有关 station 这段代码
  • Chrome 扩展程序在代码中使用 client_secret

    我正在开发具有自己的 oAuth 授权的 Google Chrome 扩展 当然 我必须使用 client id 和 client secret 作为请求令牌 有什么办法可以向用户隐藏这些数据吗 由于此请求只是 javascript 源代码
  • 有没有办法在 onclick 触发时禁用 iPad/iPhone 上的闪烁/闪烁?

    所以我有一个有 onclick 事件的区域 在常规浏览器上单击时 它不会显示任何视觉变化 但在 iPad iPhone 上单击时 它会闪烁 闪烁 有什么办法可以阻止它在 iPad iPhone 上执行此操作吗 这是一个与我正在做的类似的示例
  • Vuejs 2:去抖动不适用于手表选项

    当我在 VueJs 中反跳此函数时 如果我提供毫秒数作为原语 它就可以正常工作 但是 如果我将其提供为对 prop 的引用 它会忽略它 这是道具的缩写版本 props debounce type Number default 500 这是不
  • 从数据库检查数据的异步解决方案各种循环子句

    我想要做的是异步检查数据库并从中获取结果 在我的应用程序中我试图实现Asynchronously将此步骤解决为 从数据库中检查手机号码JsonArray循环子句的种类 Create JsonArray从结果 打印创建的数组 我学到了足够多的
  • Javascript - 水波纹效果

    我需要 JS 上的脚本 它将以 水波纹 样式更改 images html 抱歉 6MB GIF 文件 http fcuunited ru temp listening2 gif http fcunited ru temp listening
  • 带参数的事件监听器

    我想将参数传递给 JavaScript 中的事件侦听器 我已经找到了解决方案 但我无法理解它们为什么或如何工作以及为什么其他解决方案不起作用 我有 C C 背景 但是 Javascript 函数的执行有很大不同 您能否帮助我理解以下示例如何
  • 如何用另一个响应替换窗口的 URL 哈希?

    我正在尝试使用替换方法更改哈希 URL document location hash 但它不起作用 function var anchor document location hash this returns me a string va
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • 从 FileReader 设置背景图像样式

    我正在寻找一种解决方案 允许我从文件上传输入中获取文件并通过设置 document body style backgroundImage 来预览它 以下代码用于在 Image 元素中显示预览 function setImage id tar
  • Firebase - 有没有办法查看有多少人安装了该应用程序?

    Parse 支持安装功能 我不确定 firebase 是否也支持 但在 Google 中挖掘了几个小时后 我无法找到有关如何在 Firebase 中查看 计算用户安装的重要信息 有没有办法计算 Firebase 中的用户安装量 或者甚至还有
  • 在 CKEditor 中设置字体大小和字体系列

    我正在使用 ckeditor 我想问一下这个插件如何设置font family和font size 我尝试过使用 CKEDITOR config font defaultLabel Arial CKEDITOR config fontSiz
  • 如何确定所有角度2分量都已渲染?

    当所有 Angular2 组件完成渲染时 是否会触发一个角度事件 For jQuery 我们可以用 function 然而 对于 Angular2 当domready事件被触发 html 只包含角度组件标签 每个组件完成渲染后 domrea
  • 如何在react-highcharts中使用图表工具提示格式化程序?

    如何使用图表工具提示格式化程序 我正在使用高图表的反应包装器 我有这样的配置 const CHART CONFIG tooltip formatter tooltip gt var s b this x b each this points

随机推荐

  • 取消 DataAdapter.Fill()

    设想 我们有一个附加到 DataAdapter 数据表 的 DataGridView 我们在单独的线程 使用 delegate 和 beginInvoke 中使用 adapter fill query datatable 将数据加载到数据表
  • 通过 Node JS 使用文件内容确定 MIME 类型

    似乎所有流行的 Node js MIME 类型库都只是使用文件扩展名 而不是通过查看文件来确定 MIME 类型 有没有一种好方法可以使用 Node 跳转到文件并智能地确定文件的 MIME 类型 以防扩展名不存在 确实感觉很可惜 最受欢迎的M
  • SQL Server Raiserror 不会在 .NET 客户端中引起异常

    我在 SQL Server 2005 数据库上有一个存储过程 其中有如下语句 IF Condition 0 BEGIN RAISERROR some error message 16 1 RETURN END 它是从 C 客户端调用的 如下
  • 如何将 List 绑定到 gridview?

    这可能是一个非常奇怪的问题 因为通常人们只将复杂类型绑定到网格视图 但我需要绑定一个 Int 列表 对于字符串也是如此 通常 由于要绑定的属性使用对象的属性名称 但是当使用 Int 或 String 时 该值正是对象本身 而不是属性 获取对
  • __init__.py 的目的是什么? [复制]

    这个问题在这里已经有答案了 创建 Python 包时 我被告知创建一个名为的空白文件init py 我不明白的是为什么我需要创建这个文件 这distutils构建脚本不会修改它 所以五个构建后它仍然是空白的 它的目的是什么 它向 Pytho
  • 了解 CSS 表格单元格和百分比宽度

    我正在检查 Github 如何显示以下菜单 如果您注意到 每个菜单项都具有相同的宽度 在CSS中 我们应该给它任何百分比值 这背后的原因是什么 请注意 父 div 没有给出 display table 属性 div border 1px s
  • Android - 在活动中嵌入 Unity3d 场景 - 需要取消注册接收器?

    我成为 SO 成员已经有一段时间了 但从未真正问过问题 所以这里 My Aim 我正在尝试制作一个包含两个活动的 Android 应用程序 第一个是菜单屏幕 使用标准 Android UI 元素 其中有一个用于打开游戏活动的按钮 游戏活动将
  • 如何获取Android指南针读数?

    既然 SENSOR ORIENTATION 已弃用 那么获取罗盘航向的最佳做法是什么 老方法就是这么简单 以下是获取指南针方向并将其显示在 TextView 中的基本示例 它通过实现 SensorEventListener 接口来实现这一点
  • 更改引导程序中活动类的颜色

    我正在尝试更改 html 代码中活动类的颜色 我正在创建导航侧边栏 这是我的代码 div class col sm 2 ul class nav nav pills nav stacked nav static li class activ
  • javascript:使用 window.open() 发送自定义参数,但它不起作用

  • Android如何使用PriorityQueue读取多个BLE特征

    有点卡在这里 可能需要你的帮助 我想一次读取多个 BLE 特性 有些人建议使用 PriorityQueue 我已经知道所有的 uuid 等 只需要一种方法可以一次读取多个 谁能解释一下它究竟应该是什么样子 或者也许还有另一个更简单的解决方案
  • 谁需要为 BigQuery 查询付费?

    我仍然不清楚谁为我的数据集上的 BigQuery 查询付费 如果我与其他用户共享我的数据集并且其他用户查询它 那么谁为这些查询付费 一年前有一个类似的帖子 但我仍然不确定我是否理解在这种情况下谁付钱 如果您拥有数据集 则需要为该数据集中所有
  • 在 C++ 中解析这个的最好方法是什么?

    在我的程序中 我有以下格式的 服务器地址 列表 host port 这里的括号表示port是可选的 host可以是主机名 IPv4 或 IPv6 地址 可能采用 括号内 表示法 port 如果存在 可以是数字端口号或服务字符串 例如 htt
  • C 中的滚动中值算法

    我目前正在研究一种用 C 语言实现滚动中值滤波器 类似于滚动均值滤波器 的算法 从我对文献的搜索来看 似乎有两种相当有效的方法可以实现 第一种是对初始值窗口进行排序 然后执行二分搜索以插入新值并在每次迭代时删除现有值 第二个 来自 Hard
  • Chrome 中的重复选项卡复制 sessionStorage

    当 Chrome 中的选项卡重复时 sessionStorage也重复了 我注意到在 IE 中不是这样 在 Chrome 中 是的 你发现了一个重要的区别 的内容sessionStorage是 复制 而不是 共享 所做的任何更改sessio
  • 如何使用结构化并发运行 JDK 19?

    我已对此进行了编辑 以使原始帖子的内容保持最新 我想尝试新的织机计划特征定义在 JEP 428 结构化并发 孵化器 我的 pom xml 中有
  • “带有‘pipeline’的$lookup不能指定‘localField’或‘foreignField’”

    我是 mongoose 和 mongoDB 的新手 我有以下查询 运行时会抛出以下错误 如果有人可以帮助我处理问题并仍然得到相同的输出 那就太好了 interview model js gt mongodb show name as int
  • 使用 ASP.NET 3.5 验证进行电子邮件格式验证的最佳正则表达式

    我已使用以下两个正则表达式通过 ASP NET 验证控件测试有效的电子邮件表达式 我想知道从性能的角度来看哪种表达方式更好 或者是否有人有更好的表达方式 w w w w w w 0 9a zA Z w 0 9a zA Z 0 9a zA Z
  • 强制 VM 以 32 位模式启动 WebStart JNLP

    我正在 Mac OS X Leopard 上通过 Web Start 运行 Java 32 位应用程序 我需要确保 VM 以 32 位模式加载 我怎样才能在 JNLP 中做到这一点 我发帖后就找到了答案 在 资源 标签中 您可以执行如下所示
  • 在 Firebase 的 Cloud Functions 中启用 CORS

    我目前正在学习如何使用新的 Firebase Cloud Functions 我遇到的问题是我无法访问我通过 AJAX 请求编写的函数 我收到 无 访问控制允许来源 错误 这是我编写的函数的示例 exports test functions