我有一个使用AJAX的注册表单,以便我想在任何时候发生错误(即用户名已经在使用)刷新Recaptcha图像。

我正在寻找与ReCaptcha兼容的代码,使用JavaScript重新加载它。


当前回答

对于reCaptcha v2,使用:

grecaptcha.reset();

如果你正在使用reCaptcha v1(可能没有):

Recaptcha.reload();

如果窗口上已经加载了重新验证码,这就可以了。

(根据下面@SebiH的评论更新。)

其他回答

如果您使用的是版本1

Recaptcha.reload();

如果您使用的是版本2

grecaptcha.reset();

或者,您可以模拟单击刷新按钮

// If recaptcha object exists, refresh it
    if (typeof Recaptcha != "undefined") {
      jQuery('#recaptcha_reload').click();
    }

对于reCaptcha v2,使用:

grecaptcha.reset();

如果你正在使用reCaptcha v1(可能没有):

Recaptcha.reload();

如果窗口上已经加载了重新验证码,这就可以了。

(根据下面@SebiH的评论更新。)

重要提示:不再支持reCAPTCHA API的1.0版本。请升级到2.0版本。

你可以使用grecapcha .reset();重置验证码。

来源:https://developers.google.com/recaptcha/docs/display js_api

对于AngularJS用户:

$window.grecaptcha.reset();