文章内容
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 保护
黄兵个人博客原创。
评论列表