我在一个应用程序上工作,该应用程序的部分功能是有一个管理员登录,并能够重置用户的密码。
var functions = require('firebase-functions');
var admin = require("firebase-admin");
var serviceAccount = require("/removed-for-privacy.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://troop-30-elections-web-app.firebaseio.com"
});
exports.resetPassword = functions.https.onCall((docId,newPass) => {
console.log("step 2");
admin.auth().updateUser(docId, {
password: newPass,
}).then(() => {
const modal = document.querySelector('#modal-reset');
M.Modal.getInstance(modal).close();
resetForm.reset();
});
});。
resetForm.addEventListener('submit', (e) => {
console.log("Step 1");
e.preventDefault();
let newPass = resetForm['reset-password'].value;
const resetPasswordFunction = firebase.functions().httpsCallable('resetPassword');
resetPasswordFunction(docId,newPass);
console.log("Step 1.5");
});我尝试提交重置密码表单,但没有任何反应。我看了看控制台。没有错误,但我确实看到了步骤1和步骤1.5。
发布于 2020-12-13 05:39:39
云函数代码运行在后端服务器上,无法访问调用它的网页的DOM。这意味着你不能做像document.querySelector这样的事情。如果函数需要信息才能运行,则必须将该信息作为参数从客户端应用程序传递给函数。
https://stackoverflow.com/questions/65270067
复制相似问题