ng-recaptcha ERR: Error: "Uncaught (in promise): [object Null]"

ng-recaptcha ERR: Error: "Uncaught (in promise): [object Null]"

我正在使用 ng-recaptcha 包以便在我的网络应用程序中实施 Google reCAPTCHA V3。 为此,我创建了一个服务,将在客户端执行所有需要的操作。

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { ReCaptchaV3Service, OnExecuteData } from 'ng-recaptcha';

import { environment } from 'src/environments/environment';


const BACKEND_URL = environment.apiUrl + '/contact/';

@Injectable()
export class ContactService {
    constructor(
        private http: HttpClient,
        private recaptchaV3Service: ReCaptchaV3Service
    ) {}

    public sendContactForm(data): void {
        this.recaptchaV3Service.execute('contactForm').subscribe(data => {
            console.log(data);
        });

        // this.http.post(BACKEND_URL, data)
        //     .subscribe((responseData) => {
        //         console.log(responseData);
        //     });
    }
}

不幸的是,在执行 recaptcha 时(在 sendContactForm 方法上),出现以下错误:

"Uncaught (in promise): [object Null]"

这里有什么问题?

您需要将您的域添加到 recaptcha 管理员 console

不要忘记为您的测试添加 localhost

当站点不在 "registered" Google recaptcha/admin 域区域时,会出现此错误。

解决方法:在recaptcha管理区添加域名:

  1. 登录到您的 Google 注册您的验证码的帐户
  2. 键入 Google "google recpatcha admin console"
  3. 转到您的(生产)密钥设置
  4. 在 "Domains" 中,添加这两个条目:
localhost
127.0.0.1
  1. 保存并测试您的验证码。

还有一个 问同样的问题,需要同样的解决方案。