flask使用ajax

flask ajax jquery

简单使用ajax

参考文档

 1<script type=text/javascript>
 2$(document).ready(function(){
 3    $('button#ajax').click(function() {
 4        $.ajax ({
 5            type : "POST",
 6            url : "{{ url_for('index.login') }}",
 7            data:JSON.stringify({
 8                name: $('input[name="name"]').val(),
 9                passwd: $('input[name="passwd"]').val()
10            }),
11            contentType: 'application/json;charset=UTF-8',
12            success: function(result) {
13                if (result.judge == true)
14                {
15                    window.location = '/';
16                }
17                else 
18                {
19                    $("#showerror").show();
20                    $("#error").text(result.error);
21                }
22            }
23        });
24    });
25});
26</script>

ajax使用CSRF

参考文档

首先注册CSRF

1from flask_wtf.csrf import CsrfProtect
2csrf = CsrfProtect()
3csrf.init_app(app)

在模板中使用

1var csrftoken = "{{ csrf_token() }}"
2    $.ajaxSetup({
3        beforeSend: function(xhr, settings) {
4            if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type) && !this.crossDomain) {
5                xhr.setRequestHeader("X-CSRFToken", csrftoken)
6            }
7        }
8    });