• 1402/08/02

نحوه استفاده از recaptcha v2 در mvc :

سلام 

وقت بخیر

بنده می خوام از google recaptcha v2 در یکی از فرم های ثبت نظرات استفاده کنم . view بصورت partial اطلاعات فرم را به کنترلر پاس می ده و با ajax اطلاعات post  میشه اما اطلاعات div بصورت null دریافت می شه. لطفا راهنمایی بفرمایید.

<form class="comment-form" action="" method="post" id="commentForm">
    <div>
        <input type="hidden" id="Id" value="@Model.PageId" />
        <input placeholder=" نام و نام خانوادگی" type="text" id="Name">
        <input placeholder=" ایمیل خود را وارد نمایید " type="email" id="Email">
        <br />
    </div>
    
    <textarea placeholder=" متن دیدگاه" id="Comment"> </textarea>
    
 <div class="g-recaptcha" data-sitekey="your_site_key"></div>
 
    <input value="ثبت دیدگاه ارزشمند شما " type="button" onclick="addComment()" id="register-button">
 
</form>

 

 <script src="https://www.google.com/recaptcha/api.js" async defer></script>
    <script type="text/javascript">
        function addComment(parameters) {
            var form = {
    PageId: $("#Id").val(),
    Name: $("#Name").val(),
    Email: $("#Email").val(),
                Comment: $("#Comment").val()

            };
            alert(form);
            $.ajax({
                type: "Post",
                url: "@Url.Action("AddComment", "News", new {@id = @Model.PageId})",
                data: form
            }).done(function(result) {
    $("#commentList").html(result);
    $("#Name").val("");
    $("#Email").val("");
    $("#Comment").val("");
});
        }
    </script>
        [HttpPost]
        public ActionResult AddComment(PageComment form)
        {

                 var r = Request.Params["g-recaptcha-response"];
            if ( ModelState.IsValid &amp;&amp; r != null)
            {
                PageComment addComment = new PageComment()
                {
                    CreateDate = DateTime.Now,
                    PageId = form.PageId,
                    Comment = form.Comment,
                    Email = form.Email,
                    Name = form.Name
                };
                pageCommentRepository.addPageComment(addComment);
                return PartialView("ShowComment", 
                pageCommentRepository.GetCommentByNewsID(addComment.PageId));
            }
}
logo-enamadlogo-samandehi