[英]Data received from ajax get request
我有 flask 应用程序,我正在尝试从客户端向后端发出请求,反之则验证 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
方法返回的数据?
你的代码是正确的。 问题是在 object 上调用.toString()
将返回。 如果您想查看 object 的日志,请尝试:
window.console.log(data)
或者:
window.console.log(JSON.stringify(data, null, 2))
.toString 申请一个 object 将返回 [object Object]
var myObj = {};
console.log(myObj.toString());
//returns [object Object]
尝试直接使用 object 属性,如下所示:
console.log(data.success);
就像建议一样:永远不要在公共场合显示您的 API 密钥
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.