微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google reCAPTCHA 令牌为空

如何解决Google reCAPTCHA 令牌为空

我正在尝试将 Google recaptcha v3 实施到我的 MVC 表单中。提交表单时,reacptcha 令牌值始终为空,但表单中的其他字段具有正确的值。任何想法问题出在哪里?谢谢。 contact.cs 模型:

public class contact
    {
        [Key]
        public int Id { get; set; }
        public string FullName {get;set;}
        ...
        public string GoogleCaptchaToken { get; set; }

    }

index.cshtml 视图:

    @using reCAPTCHA.MVC
    
    @section Scripts
    {
        <script src="https://www.google.com/recaptcha/api.js?my site key"></script>
        <script>
            grecaptcha.ready(function () {
                grecaptcha.execute('my site key',{ action: 'Home' }).then(function (token) {
                    $("#GoogleCaptchaToken").val(token);
                });
            });
        </script>
    
    }



    @using (Html.BeginForm("Index","Home",System.Web.Mvc.FormMethod.Post))
    {
        @Html.AntiForgeryToken()
    
       
            <!--form fields-->
            ...
            @Html.HiddenFor(model => model.GoogleCaptchaToken)
           
            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <input type="submit" value="Submit" class="btn btn-default" />
                </div>
            </div>
        </div>
    }
    
    <style>
        .text-danger {
            color: red;
        }
    </style>
    
    @Scripts.Render("~/bundles/jqueryval")

后端代码

家庭控制器处理程序

 [HttpPost]
   public ActionResult Index(contact model)
    {
        if (ModelState.IsValid)
        {
            var isCaptchaValid = ReCaptchaPassed(model.GoogleCaptchaToken);
            if (isCaptchaValid)
            {
                return RedirectToAction("Confirmation");
            }
            else
            {
                return View();
            }
        }
        return View();
    }
 public static bool ReCaptchaPassed(string gRecaptchaResponse)
        {
            HttpClient httpClient = new HttpClient();

            ...
        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?