Я пытаюсь создать ajax-проверку Recaptcha и php с помощью jQuery.
С помощью jQuery я пытаюсь заставить JavaScript перестать выполняться, если возвращаемые данные имеют какое-либо значение (которое будет ошибкой recaptcha), и вывести ошибку.При обратном вызове и при отсутствии ответа от sendform.php файла, который содержит капчу и мой почтовый скрипт, ошибка отображается нормально, и recaptcha перезагружается, но «return false» ничего не делает.Сценарий продолжает идти после.Я также не могу создавать переменные и использовать их позже в скрипте в функции обратного вызова.,,так есть ли другой способ сделать это?Спасибо
$.post(sendform.php, {recaptcha_response_field:$('#recaptcha_response_field').val(), recaptcha_challenge_field:$('#recaptcha_challenge_field').val(), captchaVerify:'true'},
function(data) {
if (data) {
output.html(data).slideDown(750);
Recaptcha.reload();
return false;
}
});
На данный момент в коде я хочу, чтобы JavaScript прекратил работать здесь, если sendform.php выдает ошибку (после этих строк кода он продолжает отправлять оставшиеся данные формычерез $ .post для отправки электронного письма).Однако return false ничего не делает, когда находится внутри функции обратного вызова $ .post, скрипт просто игнорирует ее и продолжает работать.
Вот код в sendform.php.У меня есть Recaptcha, возвращая либо свою ошибку, если она не работает, либо ничего, если он добивается успеха, как это:
if (!$resp->is_valid) {
// What happens when the CAPTCHA was entered incorrectly
die('The reCAPTCHA wasn’t entered correctly. Please try it againg.' .'(reCAPTCHA said: ' . $resp->error . ')');
} else if (isset($_POST["captchaVerify"])) {
die();
}