Jbb*_*bae 7 javascript cors firebase google-cloud-functions
我正在测试FB docs(https://firebase.google.com/docs/functions/callable)中描述的一个非常简单的实现,但它无法正常工作.
这是我的Firebase功能,部署到云端:
exports.getRecSkills = functions.https.onCall((data, context) => {
return {text: data.text};
});
Run Code Online (Sandbox Code Playgroud)
...和我的客户电话(初始化FB后):
var getRecSkills = firebase.functions().httpsCallable('getRecSkills');
getRecSkills({text: '123'}).then(function(result) {
console.log(result);
}).catch(function(error) {
console.log(error.code);
console.log(error.message);
});
Run Code Online (Sandbox Code Playgroud)
我得到一个与CORS标题相关的问题,但在文档中,它没有提到CORS的需要......我错过了什么?
一些说明:
在这段时间里一直在努力...请帮忙!
要消除CORS错误,请确保您firebase.json具有以下内容headers:
"hosting": [
{
"headers": [
{
"source": "**",
"headers": [
{
"key": "Access-Control-Allow-Origin",
"value": "*"
}
]
}
]
}
]
Run Code Online (Sandbox Code Playgroud)
如果您在本地设备上的Firebase 模拟器上运行,请确保在初始化 Firebase Functions 后具有以下内容,否则您的本地设备仍将调用远程 Firebase Function,并且您将CORS再次遇到错误:
if (window.location.hostname === "localhost") {
console.log("localhost detected!");
firebase.functions().useFunctionsEmulator('http://localhost:5001');
};
Run Code Online (Sandbox Code Playgroud)