Angularjs Firebase函数cors

Angularjs Firebase函数cors,angularjs,firebase,ionic-framework,google-cloud-functions,Angularjs,Firebase,Ionic Framework,Google Cloud Functions,我正在使用Firebase函数,在使用Ionic原生HTTP插件()时,一切都按预期进行。 今天,我决定转向角度Http实现,因为那时我也可以在浏览器中测试代码 我面临的问题是,由于我不再使用本机方法,而是使用角度方法来处理Http,因此我遇到了一个与CORS相关的错误: 请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为500 在服务器端,我遵循了这一点,在我使用Angular for HTTP之前,它工作得很好

我正在使用Firebase函数,在使用Ionic原生HTTP插件()时,一切都按预期进行。 今天,我决定转向角度Http实现,因为那时我也可以在浏览器中测试代码

我面临的问题是,由于我不再使用本机方法,而是使用角度方法来处理Http,因此我遇到了一个与CORS相关的错误:

请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为500

在服务器端,我遵循了这一点,在我使用Angular for HTTP之前,它工作得很好

我在服务器上的代码如下所示:

const admin = require('firebase-admin');
const cors = require('cors')({origin: true});
admin.initializeApp(functions.config().firebase);

const router = new express.Router();
router.use(cors);
router.use(validateFirebaseIdToken);
router.post('/', (req, res) => {
  console.log("Proccess myFunction");
  ...
}
exports.myFunction = functions.https.onRequest(router); 
在firebase控制台中,我得到以下日志:

3:41:28.429纳克姆。警告myFunction TypeError:无法立即读取未定义的属性“apply”。(/user_code/node_modules/express/lib/router/index.js:635:14)在tryonimediate(timers.js:639:20)在tryonimediate(timers.js:610:5)在processImmediate[as _immediateCallback](timers.js:582:5)

3:41:28.428纳克姆。警告myFunction未捕获异常

3:41:28.424纳克姆。信息myFunction进程myFunction

看起来,我的函数正在被调用,日志也出现了,但是连接在两者之间的某个地方丢失了。如前所述,在我使用AngularHTTP之前,它工作得很好。根据我的其他日志条目,崩溃发生在我尝试访问Firebase存储时的某个时刻(但由于它以前工作过,我非常确定,对存储的访问是正常的)

编辑: 正文中的值似乎也未定义

console.log("ID "+req.body.userID);
印刷品:

“ID未定义”

好吧,我发现了问题。
在请求端,我必须使用“application/json”作为内容类型。不知道为什么会出现cors错误,以及为什么以前会出现这种情况。

您到底是如何做到的?您是否使用了
AngularFireFunctions
中的
httpscalable
?你能举个例子吗?