ajax 发送 csrf 信息

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 

你可能感兴趣的:(python)