gpt4 book ai didi

javascript - 将 reCAPTCHA 与 ajax 结合使用....javascript 加载问题

转载 作者:可可西里 更新时间:2023-11-01 02:18:21 25 4
gpt4 key购买 nike

我试图以我的一种形式实现 reCAPTCHA,...但我使用 ajax 作为提交。 (更具体地说是原型(prototype) ajax.updater)

一旦我提交并检查了我的表单,我就尝试加载 reCAPCHTA 小部件(在我更新的 div 元素中),它基本上只是像这样调用一个 javascript 文件:

<script type="text/javascript" src="http://api.recaptcha.net/challenge?k=6Le6SwUAAAAAAIWm8wCRFd8SrI-H0R1Yx4Tkw2Ks"></script>

但是 JS 文件没有被读取?...我已经在 ajax.updater 中尝试了 evalScripts:true 和 evalJS:'force' 等的所有组合...但是我不认为我很清楚为什么 js 文件没有被处理:(

如果有人能阐明这个问题,我将不胜感激。

谢谢安德鲁

最佳答案

这并没有解决您的确切问题,但是“Dark Side of the Carton” ' 有一些用于通过 jQuery AJAX 验证 reCAPTCHA 的优秀代码,这可能会有所帮助。

总结:

添加以下Javascript:

$(function() {
function validateCaptcha() {
var challengeField = $('input#recaptcha_challenge_field').val(),
responseField = $('input#recaptcha_response_field').val();

// alert(challengeField);
// alert(responseField);
// return false;

var html = $.ajax({
type: 'POST',
url: 'ajax.recaptcha.php',
data: "recaptcha_challenge_field=" + challengeField + "&amp;recaptcha_response_field=" + responseField,
async: false
}).responseText;

if (html.replace(/^\s+|\s+$/, '') == "success") {
$('#captchaStatus').html(' ');
// Uncomment the following line in your application
return true;
} else {
$('#captchaStatus').html(
'Your captcha is incorrect. Please try again'
);
Recaptcha.reload();
return false;
}
}

// Modified as per comments in site to handle event unobtrusively
$('#signup').submit(function() {
return validateCaptcha();
});
});

然后添加 ajax.recaptcha.php 文件,其中:“如果验证码匹配,则仅输出“成功”一词,如果失败,则输出一条消息和来自 reCaptchta 的响应。这很重要,因为我们正在寻找成功一词我们的 validateCaptcha() 函数。”

require_once('/inc/recaptchalib.php');
$publickey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // you got this from the signup page
$privatekey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX';

$resp = recaptcha_check_answer(
$privatekey,
$_SERVER['REMOTE_ADDR'],
$_POST['recaptcha_challenge_field'],
$_POST['recaptcha_response_field']
);

if ($resp->is_valid) {
?>success< ?
} else {
die(
"The reCAPTCHA wasn't entered correctly. Go back and try it again." .
"(reCAPTCHA said: " . $resp->error . ")"
);
}

该示例是用 PHP 编写的,但我很容易对其进行调整以使用 Zope/Python

关于javascript - 将 reCAPTCHA 与 ajax 结合使用....javascript 加载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/593593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com