У меня есть приложение фляги, и я пытаюсь сделать запрос от клиента на бэкэнд и наоборот для проверки ReCaptcha.
JS:
var onloadCallback = function() {
var captchaCallback = function(param) {
return $.get( "gettoken/" + param, function( data ) {
window.console.log(data.toString())
if (!data.success) {
window.alert("something went wrong" + data.error);
}
else {
$(".submitBtn").prop("disabled", false);
}
});
};
grecaptcha.render('html_element', {
'sitekey' : 'secret_key',
'callback' : captchaCallback
});
};
PYTHON:
@app.route('/gettoken/<g_recaptcha_response>')
def verify_recaptcha(g_recaptcha_response):
with urllib.request.urlopen('https://www.google.com/recaptcha/api/siteverify?secret=secret_key&response=' + g_recaptcha_response) as url:
data = json.loads(url.read().decode())
print(data)
return data
Данные, напечатанные методом python, верны {'success': True, 'challenge_ts': '2019-11-07T11:07:22Z', 'hostname': 'localhost'}
. Но тогда данные, напечатанные обратно в js, показывают: [object Object]
. Как правильно читать данные, возвращаемые методом python verify_recaptcha
?