问题
I'm trying to use ReCAPTCHA where I am getting following error.
ReCAPTCHA couldn't find user-provided function: myCallBack.
How can I solve this issue?
var verifyCallback3 = function(response) {
if(response!=null){
$("#rss").show();
}
};
var myCallBack = function() {
grecaptcha.render('html_element', {
'sitekey' : '6sssfffffffffAAPfEI_RkbAlUuw5FA4p-kiGy5Nea',
'callback' : verifyCallback3,
'theme' : 'light',
'type':'image'
});
};
回答1:
Make sure your callback function is being defined in the global scope. For some reason, in production my function was not in this namespace.
In addition to:
function myCallback() { ... }
Make sure you directly assign it into the global space:
window.myCallback = myCallback;
You should be able to test whether this is your problem, my typing the function name at the Javascript console and seeing if it's defined or not.
回答2:
In your recaptcha div, make sure not to use parenthesis in your data-callback.
Like so data-callback="yourCallback"
, rather than data-callback="yourCallback();"
回答3:
The same thing happening with me.I have checked my code carefully, every thing is fine but captcha not shown and in console the message is "ReCAPTCHA couldn't find user-provided function: myCallBack" but finally I found that my JavaScript code was is in page load function. I am just put out it from page load function and its working.
回答4:
You have to put your script function:
<script> function registerFormCheck()</script>
Before the google script something like this:
/* First */ <script> function registerFormCheck(){} </script>
/* Second */ <script> src='https://www.google.com/recaptcha/api.js'></script>
This worked for me...
来源:https://stackoverflow.com/questions/44567543/recaptcha-couldnt-find-user-provided-function-mycallback