Flask 使用 csrf 保护后,需对前端做出以下更改:
在 标签中渲染 CSRF 令牌:
最后在响应的js文件中,必须添加以下代码,为其添加 X-CSRFToken
头:
var csrftoken = $('meta[name=csrf-token]').attr('content') $.ajaxSetup({ beforeSend: function(xhr, settings) { if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type) && !this.crossDomain) { xhr.setRequestHeader("X-CSRFToken", csrftoken) } } })
若不添加以上的 ajax 代码,ajax 提交信息时出现 POST http://xxxx 400 (BAD REQUEST) jquery.js:8630 的错误!
参考信息:http://www.pythondoc.com/flask-wtf/csrf.html