文章内容
2020/1/15 21:50:21,作 者: 黄兵
Google reCAPTCHA V2 AJAX提交
由于项目需要,Google reCAPTCHA V2需要通过AJAX的方式提交。
在这篇文章中:在Flask中使用Google reCAPTCHA后端需要从前端获取:request.form.get('g-recaptcha-response')这个参数,在ajax中具体的写法如下:
$.ajax({
type: 'POST',
url: '/auth/validation',
data: {"g-recaptcha-response": grecaptcha.getResponse()},
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
},
success: (res) => {
// TODO...
}
})获取csrftoken的写法如下:
var csrftoken = $('meta[name=csrf-token]').attr('content')最主要还是通过grecaptcha.getResponse()获取前端token数据,之后传输到后端。
参考资料:
1、g-recaptcha-response with AJAX
2、CSRF 保护
黄兵个人博客原创。
评论列表