utilisant reCAPTCHA avec ajax ... javascript chargement problème
J'essaie de mettre en place un reCAPTCHA dans un de mes formulaires,...mais je suis en utilisant ajax que de la soumission. (Plus précisément le prototype de l'ajax.programme de mise à jour)
Une fois que j'ai soumettre et de vérification des erreurs de ma forme j'essaie de charger le reCAPCHTA widget truc (dans mon élément div mis à jour) qui, en gros, appelle simplement un fichier javascript comme ceci:
<script type="text/javascript" src="http://api.recaptcha.net/challenge?k=6Le6SwUAAAAAAIWm8wCRFd8SrI-H0R1Yx4Tkw2Ks"></script>
Toutefois, le fichier JS n'est pas en cours de lecture?...et j'ai essayé toutes les combinaison de evalScripts:vrai et evalJS: "force", etc. dans l'ajax.programme de mise à jour.....cependant, je ne pense pas que j'ai une très bonne compréhension des raisons pour lesquelles le fichier js n'est pas de traitement 🙁
Si quelqu'un peut jeter quelque lumière sur cette question, je serai très reconnaissante.
Merci, Andrew
source d'informationauteur Andrew
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas l'adresse de votre problème exact, mais " Côté obscur de la boîte en Carton ' a quelques excellentes code pour valider reCAPTCHA via AJAX de jQuery qui pourrait aider.
En résumé:
Ajouter le code Javascript suivant:
Puis ajouter le ajax.recaptcha.php fichier: "sorties uniquement le mot “succès” si le captcha matchs et un message et la réponse de reCaptchta si elle échoue. Ceci est important parce que nous sommes à la recherche pour le mot de succès dans nos validateCaptcha() la fonction".
L'exemple est en PHP, mais je me suis adapté et il est facile à travailler avec Zope/Python
Être prudent en utilisant toute sorte de script côté client comme JavaScript, pour validation. Vous n'avez aucun contrôle sur la fin du navigateur de l'utilisateur. Le but d'un CAPTCHA est d'empêcher des soumissions automatisées de formulaires. Toute personne suffisamment sophistiqué pour le mettre en place n'est pas un problème primordial votre JavaScript de validation et de CAPTCHA vérification. Par exemple, ils pourraient mettre en validateCaptcha() retourne toujours vrai, contourner les contrôles minutieux - ou tout simplement de désactiver le JavaScript.
Cela étant dit, il n'y a rien de mal à l'exécution de la totalité de la soumission de formulaire avec ajax et en utilisant les résultats de l'CAPTCHA vérification pour déterminer si la forme est traitée ou non.
Le point important est que la décision de savoir si ou de ne pas manipuler la forme doit être fait sur le côté serveur, pas le côté client.
Pourquoi la validation côté client n'est pas assez
pour répondre à ma propre question...
il y a un reCAPTCHA api AJAX....ce qui est assez facile à obtenir autour de ce problème:
texte du lien
Aussi,..la documentation sur le http://www.prototypejs.org/api/ajax/updater site.....parle de la evalscript option et comment ne met que le code javascript à travers le natif fonction eval ()....quel type de vis de moi en essayant de mettre en œuvre la vérification des erreurs aux armes de destruction massive...mais c'est une autre histoire.
Andrew
Si c'est la traduction littérale d'un extrait de code que vous utilisez, vous n'avez pas fermé la balise... donc il n'est pas évalué.
appel Recaptcha.reload(); sur l'événement de rappel dans votre code Ajax., il va recharger à nouveau Recapcha chaque fois qu'Ajax soumis
Salut l'Ami j'ai trouvé la réponse
https://developers.google.com/recaptcha/docs/display?hl=es#AJAX
Et dans cette façon de valider
http://blog.reaccionestudio.com/comprobar-recaptcha-con-ajax-usando-jquery/
Succès pour vous
J'ai eu des problèmes similaires avec l'obtention de
reCaptcha
à jouer très bien lorsqu'il est chargé dans la page à l'aide de jQuery.load()
méthode. Voici une page qui a une solution novatrice: http://www.maweki.de/wp/2011/08/recaptcha-inside-a-with-jquery-ajax-or-load-dynamically-loaded-object/Fondamentalement le reCaptcha API utilise document.méthode d'écriture pour afficher le reCaptcha. Lorsque vous obtenez jQuery invloved cela ne fonctionnera pas. Utilisez ce code PHP dans le lieu de chargement
recaptcha.js
Il n'a tout simplement une recherche pour document.écriture et la remplace par
$(selector).append
.Fait mon travail de mise en œuvre.