2016-08-01 264 views

回答

0

這意味着你將發佈與阿賈克斯,如果其成功與否,當你得到你的回調,那麼你可以有一個JavaScript函數,以便提交你需要做的/後或任何行動。我使用回調來允許登錄按鈕提交,如果尚未完成,則該按鈕保持禁用狀態。您仍然需要向Google提交您的挑戰,以便他們驗證它是否成功。這是一個簡單的例子。

<div class="g-recaptcha" id="login" data-callback="captcha_filled" 
      data-expired-callback="captcha_expired" data-sitekey="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"></div> 

function captcha_filled() { 
    $("#submitLogin").prop('disabled', false); 
} 
+0

但不會執行'grecaptcha.getResponse()'實現相同?據我所知,如果用戶忘記檢查驗證碼或未能通過挑戰,那麼'grecaptcha.getResponse()'將不會有值。在這種情況下,使用自己的AJAX文章有什麼意義? – faridghar

+0

我做了一個測試,看起來你是對的。如果挑戰未完成並調用'grecaptcha.getResponse()',它將返回null,如果成功,它將返回一個值。在你的問題中,你提到了第三種方法作爲數據回調,這讓我感到困惑,但這不是這種方法所做的。您可以使用上述調用來驗證您的挑戰,但數據回調只是在完成時執行任何類型的功能。以下是關於[Javascript API](https://developers.google.com/recaptcha/docs/display#js_api)的更多信息。 – Ryan89