我正在使用 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 方法上),我收到以下错误:
“未捕获( promise ):[object Null]”
这里有什么问题吗?
最佳答案
当网站未在 Google recaptcha/admin Domains 区域中“注册”时会发生此错误。
解决方法:在recaptcha管理区添加域名:
- 登录您的注册验证码的 Google 帐户
- 在 Google 中输入“google recpatcha 管理控制台”
- 转到您的(生产) key 设置
- 在“域”中,添加以下两个条目:
localhost 127.0.0.1
- 保存并测试您的验证码。
还有一个 question这要求同样的事情并需要相同的解决方案。
关于javascript - ng-recaptcha ERR : Error: "Uncaught (in promise): [object Null]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59478547/