我正在使用Firebase函数在Firebase Hosting下开发一个项目。Index.js:
exports.simpleFunction = functions.https.onCall((data, context) => {
return data;
});
Index.html:
var simpleFunction = firebase.functions().httpsCallable('simpleFunction');
simpleFunction("12").then (function(result) {
console.log(result);
}).catch(function(error) {
console.log("Error code:" + error.code);
});
在控制台中,我只得到:
"错误代码:内部;
有人能帮我弄清楚发生了什么吗?
我在我的项目中重现了你的场景,你的代码按预期工作,这是我的HTML文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Welcome to Firebase Hosting</title>
<script src="/__/firebase/8.0.0/firebase.js"></script>
<script src="/__/firebase/8.0.0/firebase-app.js"></script>
<script src="/__/firebase/8.0.0/firebase-functions.js"></script>
<script src="/__/firebase/init.js"></script>
<style media="screen">
</style>
</head>
<body>
Hello world!!
</body>
<script>html
let simpleFunction = firebase.functions().httpsCallable('simpleFunction');
simpleFunction("12").then(function (result) {
console.log(result);
}).catch(function (error) {
console.log("Error code:" + error.code);
});
</script>
</html>
我使用的是最新的firebase网络包,我的功能支持未经身份验证的访问。
更新我能够重现此问题
我试图调用另一个函数(python函数(,但由于python上不存在firebase函数包,这看起来是根本原因,请尝试更新您的firebasefunctions包或尝试使用我的复制示例。
package.json
{
"name": "sample-http",
"version": "0.0.1",
"dependencies": {
"firebase-admin": "~9.2.0",
"firebase-functions": "^3.11.0"
}
}
功能
const functions = require('firebase-functions');
exports.simpleFunction = functions.https.onCall((data, context) => {
return data;
});