当前位置: 首页 > 知识库问答 >
问题:

google、TCHA、wordpress、ajax、保存数据

路雅懿
2023-03-14

我试图找出如何整合谷歌隐形reCaptcha到一个自定义提交表单附加到submit.js(ajax)。多亏了这一点,我成功地在99%的网站上使用了谷歌的新隐形reCaptcha。我尝试遵循相同的指南,但当我尝试添加到listing.php之前调用submit.js(ajax),一切正常,但如果用户犯了一些错误(忘记一些字段),值不会像以前那样保存。这里是submit.js(ajax)

jQuery('#lp-submit-form').submit(function(e){
$this = jQuery(this);
$this.find('.preview-section .fa-angle-right').removeClass('fa-angle-right');
$this.find('.preview-section .fa').addClass('fa-spinner fa-spin');
var fd = new FormData(this);

fd.append('action', 'listingpro_submit_listing_ajax');
jQuery.ajax({
    type: 'POST',
    url: ajax_listingpro_submit_object.ajaxurl,
    data:fd,
    contentType: false,
    processData: false,

    success: function(res){


        var resp = jQuery.parseJSON(res);
        if(resp.response==="fail"){
            jQuery.each(resp.status, function (k, v) {

                if(k==="postTitle"){
                    jQuery("input:text[name='postTitle']").addClass('error-msg');   
                }
                else if(k==="gAddress"){
                    jQuery("input:text[name='gAddress']").addClass('error-msg');
                }
                else if(k==="category"){
                    jQuery("#inputCategory_chosen").find('a.chosen-single').addClass('error-msg');
                    jQuery("#inputCategory").next('.select2-container').find('.selection').find('.select2-selection--single').addClass('error-msg');
                }
                else if(k==="location"){
                    jQuery("#inputCity_chosen").find('a.chosen-single').addClass('error-msg');
                    jQuery("#inputCity").next('.select2-container').find('.selection').find('.select2-selection--single').addClass('error-msg');
                }
                else if(k==="postContent"){
                    jQuery("textarea[name='postContent']").addClass('error-msg');
                }
                else if(k==="email"){
                    jQuery("input#inputEmail").addClass('error-msg');
                }

            });
            var errorrmsg = jQuery("input[name='errorrmsg']").val();
            $this.find('.preview-section .fa-spinner').removeClass('fa-spinner fa-spin');
            $this.find('.preview-section .fa').addClass('fa-times');
            $this.find('.preview-section').find('.error_box').text(errorrmsg).show();
        }
        else if(resp.response==="failure"){
            jQuery("input#inputEmail").addClass('error-msg');
            jQuery("input#inputEmail").after(resp.status);
            $this.find('.preview-section .fa-spinner').removeClass('fa-spinner fa-spin');
            $this.find('.preview-section .fa').addClass('fa-angle-right');
        }
        else if(resp.response==="success"){
            $this.find('.preview-section .fa-spinner').removeClass('fa-times');
            $this.find('.preview-section .fa-spinner').removeClass('fa-spinner fa-spin');               
            $this.find('.preview-section .fa').addClass('fa-check');
            var redURL = resp.status;
            function redirectPageNow(){
                    window.location.href= redURL;
            }
            setTimeout(redirectPageNow, 1000);

        }


    },
    error: function(request, error){
        alert(error);
    }
});

e.preventDefault();

 }); 

有什么想法吗?谢谢,如果你能给我一些建议的话,我真的陷入了一场噩梦:D

共有1个答案

梁晋鹏
2023-03-14

在中使用下面的代码检查google验证码值。js文件或。php文件。如果google验证码为空,则给出警告框或错误消息。

if(isset($_POST['g-recaptcha-response']))
{
    $captcha=$_POST['g-recaptcha-response'];
}
if(!$captcha)
{
  echo '<p>Please verify that you are not a robot.</p>';
}

这段代码是为PHP编写的。您可以在中检查$\u POST值。js
我想这对你有帮助。

 类似资料:
  • 问题内容: 我今天花了很多时间研究如何在cakephp中使用ajax请求保存数据,现在已经知道在cakephp网站上的文档似乎缺少该特定主题。 我有几个可排序的列表,对一个列表项进行排序时,我需要保存每个列表项的位置。我有一个如下设置的ajax请求,该请求在移动项目时触发: 控制器中引用的功能为: 我已经设置了助手等: 而且它不起作用… 所以我的问题是: 1)当前向控制器中的动作发送ajax请求的

  • 问题内容: 如何将表单数据保存在文件或本地db(也许使用AJAX)中,该文件或数据通过表单操作将数据发送到外部db? 我的表单的源代码在这里:http : //jsbin.com/ojUjEKa/1/edit 我应该对代码进行哪些更改(如果有)? 对。因此,我能够使用AJAX将数据存储到localStorage中,并希望将存储的数据发送到名为backend.php的文件中。这是我的html文件:

  • 我想限制我的WordPress网站的某些页面登录用户。 为此,我编写了一些代码,将用户重定向到登录页面,并设置我的成员身份插件,然后将他们重定向到最后一个用户页面。问题是,wp_redirect函数不保存URL,所以在登录之后,用户会被重定向到他们之前所在的页面,而不是他们试图访问的页面(受限页面)。 对这个烦人的问题的任何帮助都将非常感激!:)我的代码在下面。

  • 问题内容: 实现自动保存功能的最佳javascript库或库的插件或扩展是什么? 特定的需求是能够“保存”数据网格。考虑gmail和Google Documents的自动保存。 如果车轮已经被发明,我不想重新发明。我正在寻找神奇的autoSave()函数的现有实现。 自动保存:推送到保存到持久性存储(通常是数据库)的服务器代码。服务器代码框架不在此问题的范围内。 请注意,我不是在寻找Ajax库,而

  • 问题内容: 因此,我是Ajax的新手,在阅读了一些在线教程之后,以下是我所了解的内容。如果我错了,请纠正我。 现在的情况: Tab_menu.php:具有选项卡,默认情况下,该选项卡在页面加载时显示。对于选项卡,内容显示在页面加载中。 ``` 还有,对吗?我不了解结构以及每个组件的含义。 问题答案: 从$ _GET [‘id’]中检索发布的ID,并将其添加到路径中。

  • 问题内容: 我遇到下面显示的行未将变量存储到全局范围的问题: 我究竟做错了什么?我需要将其包装到单独的函数中还是什么? 问题答案: 该代码在收到响应之前运行。 这就是为什么。 在这里,您可以看到警报发生故障。默认情况下,AJAX请求不会阻止后续代码运行。 这就是拥有 回调 方法的全部目的。该方法在适当的时间被调用,而不是依赖于同步执行。