using reCAPTCHA with ajax…javascript loading problem

前端 未结 7 2091
说谎
说谎 2021-02-14 04:08

I trying to implement reCAPTCHA in one of my forms,...but i am using ajax as the submission. (More specifically the prototype ajax.updater)

Once I submit and error check

相关标签:
7条回答
  • 2021-02-14 04:23

    call Recaptcha.reload(); on callback event in your Ajax code., it will reload new Recapcha every time that Ajax submitted

    0 讨论(0)
  • 2021-02-14 04:27

    I have had similar issues with getting reCaptcha to play nicely when loaded into the page using jQuery's .load() method. Here is a page that has a novel solution: http://www.maweki.de/wp/2011/08/recaptcha-inside-a-with-jquery-ajax-or-load-dynamically-loaded-object/

    Basically the reCaptcha API uses document.write method to display the reCaptcha. When you get jQuery invloved this won't work. Use this PHP code in place of loading recaptcha.js

    <?php
    $api = file_get_contents('http://www.google.com/recaptcha/api/js/recaptcha_ajax.js');
    $api = str_replace('document.write','$("body").append',$api);
    echo $api;
    ?>
    

    It just does a find for document.write and replaces it with $(selector).append.

    Made my implementation work.

    0 讨论(0)
  • 2021-02-14 04:30

    Be careful using any sort of client-side script, such as JavaScript, for validation. You have no control over the end-user's browser. The purpose of a CAPTCHA is to prevent automated submissions of a form. Anyone sophisticated enough to set that up isn't going to have a problem overriding your JavaScript validation and CAPTCHA checking. For example, they could set validateCaptcha() to always return true, bypassing your careful checks - or just disable JavaScript.

    That being said, there's nothing wrong with performing the entire form submission with ajax and using the results of the CAPTCHA check to determine if the form gets processed or not.

    The important point is that the decision of whether or not to handle the form has to be made on the server-side, not the client-side.

    Why client-side validation is not enough

    0 讨论(0)
  • 2021-02-14 04:30

    to answer my own question...

    there is a reCAPTCHA AJAX api....which is pretty easy way to get around this problem:

    link text

    Also,..the documentation on the http://www.prototypejs.org/api/ajax/updater site.....talks about the evalscript option and how is only puts any javascript through the native eval() function....which kind of screws me over trying to implement error checking with WMD...but that's another story.

    Andrew

    0 讨论(0)
  • 2021-02-14 04:32

    If that's the literal code snippet you're using, you haven't closed the tag... so it wouldn't be evaluated.

    0 讨论(0)
  • 2021-02-14 04:32

    Hi Friend i found the answer

    https://developers.google.com/recaptcha/docs/display?hl=es#AJAX

    And in this how validate

    http://blog.reaccionestudio.com/comprobar-recaptcha-con-ajax-usando-jquery/

    Success for you

    0 讨论(0)
提交回复
热议问题