我目前正在学习如何为Firebase使用新的CloudFunctions,而我遇到的问题是我无法访问通过AJAX请求编写的函数。我收到“没有’Access-Control-Allow-Origin’错误”。这是我编写的函数的示例:
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'});
})
})
我究竟做错了什么?我将不胜感激。
Firebase团队提供了两个示例函数来演示CORS的使用:
第二个示例使用与您当前使用的cors不同的方式。
另外,考虑像这样导入,如示例所示:
const cors = require('cors')({origin: true});
我已经编写了一些云函数并部署了它们,现在我正试图使用Angular应用程序来访问这些API,但我得到了这个错误 CORS策略阻止了对“ 我知道我必须在我的云功能中启用cors,但我以前从来没有这样做过,所以如果你们能告诉我怎么做,那将是很棒的?我确实检查了这个线程,但是我有点困惑,我需要在哪里初始化cors,我是否也需要安装它的依赖关系,我需要在哪里在我的云功能中启用它?这是我的云功能
我是这样做的: 我做错了什么?我将非常感谢任何帮助。 更新: 道格·史蒂文森的回答有所帮助。添加({origin:true})修复了此问题,我还不得不将更改为,但我一开始完全没有看到。
问题内容: 我已经编写了一些云函数并进行了部署,现在我正尝试使用Angular应用程序访问这些API,但出现此错误 从源’ http:// localhost:4200 ‘ 在’xxxxxxxxxxxxxxxxxxxxxxxx’处对XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:没有’Access- Control-Allow-Origin’标头在请
问题内容: 尝试使用PayPal-node-SDK向Paypal的API请求 但我不断出错: 我尝试过的事情: 向完全不同的主机发出请求 将请求包装为 预先考虑到主机 问题是什么? 问题答案: 您需要按照付费计划进行外部API请求。 Firebase的Blaze计划(随用随付)为云功能免费分配。https://firebase.google.com/pricing/
我知道这里已经有人问过这个问题,但它没有回答我的问题。我的问题是,我们怎样才能分解指数。js用于云函数,包括onWrite调用等。 我意识到您可以使用“要求”并引入外部代码。它仍然留下一些代码(例如,在Franks OCR示例中),在index.js. 理想情况下,我希望能够将整个onWrite事件触发器移动到另一个文件中。 索引中的示例。js: 如何将整个函数event watch/call移动
刚刚完成Hello World谷歌云功能教程,收到以下响应头: