2013-12-04 2 views
0

Я прочитал в документации о recaptcha, что есть возможность проверить его на localhost. Моя проблема в том, что я не могу подтвердить recaptcha в собственном коде.Не удалось проверить Recaptcha в пользовательском коде

Мне нужно добавить повторное захват в веб-приложение Razor MVC 4, которое сейчас работает.

Я сделал это таким образом.

default.cshtml

$.ajax({ 
            type: 'post', 
            data: myForm.serialize(), 
            url: "xrm/VerifyCaptcha", 
            success: function (msg) { 
             debugger 
             if (msg.Success != true) { 
              Recaptcha.reload(); // reloads a new code 
              $('#alert').text('Введите текст картинки!'); 
             } else { 

              var dataArray = { firstName: $('#input_firstname').val(), lastName: $('#input_lastname').val(), companyName: $('#input_companyname').val(), email: $('#input_email').val(), phone: $('#input_phone').val() }; 
              $.ajax({ 
               type: 'get', 
               url: 'xrm/register', 
               data: dataArray, 
               contentType: 'application/json', 
               success: function (response) { 
                console.log(response); 
                $('#alert').fadeOut("normal"); 
                $('#form').fadeOut("normal"); 
                $('#information').fadeIn("normal"); 



<div class="editor-label"> 
Are you a human? 
</div> 
<div class="editor-field"> 
@Microsoft.Web.Helpers.ReCaptcha.GetHtml("XXXXXXXXX", "blackglass","ru",0) 
</div> 

Контроллер

[HttpPost] 
     public ActionResult VerifyCaptcha() 
     { 
      var valid = Microsoft.Web.Helpers.ReCaptcha.Validate(privateKey: "XXXX"); 
      if (valid) 
      { 
       return Json(new 
       { 
        Success = true, 
        Message = "YES! Success!" 
       }, JsonRequestBehavior.AllowGet); 
      } 

      return Json(new 
      { 
       Success = false, 
       Message = "Error!!!" 
      }, JsonRequestBehavior.AllowGet); 


     } 

Но var valid = Microsoft.Web.Helpers.ReCaptcha.Validate(privateKey: "XXXX"); я должен сделать это с помощью AJAX вызова, потому что расшифрованы часть механизма проверки на этом сайте. Помогите с решением этой проблемы. Спасибо !!!

ответ

0

Я нашел ответ.

data: myForm.serialize(), 

myForm не был элементом формы для моего сожаления. Это была таблица с названием «форма». Это была не моя вина, но это была моя головная боль. Теперь все хорошо, и captcha выглядит хорошо. Большое спасибо.

Смежные вопросы