首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用httpsCallable()调用Firebase云函数时发生CORS错误

用httpsCallable()调用Firebase云函数时发生CORS错误
EN

Stack Overflow用户
提问于 2019-10-06 05:23:12
回答 1查看 419关注 0票数 1

我正在尝试从我的反应性客户端调用我的Firebase云功能。

  1. 我能够使用HTTP请求(如描述的这里)成功地调用这些函数。这需要在云功能中设置一个完整的Express应用程序。
  2. 现在,我正尝试使用httpsCallable() (如描述的这里)从客户端直接调用云函数。与调用HTTP请求相比,此方法似乎有几个优点。但是,使用这种方法,我将得到以下CORS错误:

CORS策略阻止了从源'https://us-central1-myapp.cloudfunctions.net/helloWorld‘获取'http://localhost:3000’的访问

我该怎么做呢?值得这么麻烦吗?这真的是首选的方法吗?

这是我的云功能:

代码语言:javascript
运行
复制
import * as functions from 'firebase-functions';

export const helloWorld = functions.https.onRequest((request, response) => {
    response.send('Hello from Firebase!');
});

我是这样从我的客户那里打电话的:

代码语言:javascript
运行
复制
const sayHello = async (): Promise<string> => {
    const helloWorld = firebase.functions().httpsCallable('helloWorld');
    const result = await helloWorld();
    return result.data;
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-06 10:52:19

通过做

代码语言:javascript
运行
复制
const helloWorld = firebase.functions().httpsCallable('helloWorld');
const result = await helloWorld();

您确实是在通过定义被调用的函数来调用可调用云函数但是,如下所示

代码语言:javascript
运行
复制
functions.https.onRequest((request, response) => {})

您正在定义一个HTTPS云函数 ,它是不同的

您应该将云函数定义为可调用函数,如下所示:

代码语言:javascript
运行
复制
export const helloWorld =  = functions.https.onCall((data, context) => {
  return { response: 'Hello from Firebase!' };
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58254449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档