Проверка RECAPTCHA с помощью jQuery

Я пытаюсь проверить Recaptcha с помощью jQuery, но я продолжаю получать сообщение об ошибке: доступ к ограниченному URI запрещен "код:" 1012

Это то, что я пытался до сих пор:

 var challengeVal = $("#recaptcha_challenge_field").attr("value");
 var reponseVal = $("#recaptcha_response_field").attr("value");
 var remoteIp = <%= "'" + Request.ServerVariables["REMOTE_HOST"] + "'" %>
 var privateKey = 'MY_PRIVATE_KEY';

 var requestUrl = "http://api-verify.recaptcha.net/verify?privatekey=" + privateKey + "&remoteip=" + remoteIp + "&challenge=" + challengeVal + "&response=" + reponseVal;

 $.ajax({
    type: "POST",
    url: requestUrl,
    dataType: "json",
    success: function(data) {
       alert('response from recaptcha');
    },
    error: function() {
       alert("An error occured.");
    }
  });

кто-нибудь пробовал это, кто может мне точку в правильном направлении?

спасибо.

4 ответов


JavaScript запрещено создавать междоменные XMLHttpRequests по соображениям безопасности. Есть решения, но они работают только если вы контролируете оба домена.

решение: сделайте AJAX-вызов на свой собственный сервер и свяжитесь с recaptcha через код на стороне сервера.


Я хотел бы посмотреть -> racaptcha docs AJAX существует полный пример в javascript.


полное демо можно найти и загрузить из на этой странице. Но вам все равно нужно создать открытые и закрытые ключи для вашего домена здесь https://www.google.com/recaptcha/admin/create


@Magnar уже ответил С уважением к причинам безопасности. @Guido Lemmens 2 привел пример PHP. Я хотел добавить ASP.NET форм код (и в MVC) из другого стека вопрос.