>source

저는 앱을 작업 중이며 앱 기능 중 일부는 관리자 로그인이 있고 사용자의 암호를 재설정 할 수 있습니다.

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 단계를 확인했습니다.

  • 답변 # 1

    Cloud Functions 코드는 백엔드 서버에서 실행되며이를 호출하는 웹 페이지의 DOM에 액세스 할 수 없습니다. 이것은 당신이 같은 일을 할 수 없다는 것을 의미합니다. document.querySelector . 함수를 실행하는 데 정보가 필요한 경우 클라이언트 앱에서 해당 정보를 함수에 매개 변수로 전달해야합니다.

관련 자료

  • 이전 java - 버튼을 클릭하면 while () 반복이 중지됩니다
  • 다음 각도 재료 확장 패널 붕괴 문제