django中提交post请求时候,需要携带CSRF,否则会报403错误,此时需要在form中添加{% csrf_token %}或者注释掉settings.py -> MIDDLEWARE -> 'django.middleware.csrf.CsrfViewMiddleware',但是极不推荐!
用ajax发送post异步请求时,也需要在data中添加 在data中添加:1. var csrf=$('input[name="csrfmiddlewaretoken"]').val() data:{'csrfmiddlewaretiken',csrf}2.data:{'csrfmiddlewaretoken':"{{ csrf_token }}"}实例,亲测有效:<script> $(function () {#get请求
$('#h1').click(function () { $.ajax({ url:"{% url 'index:ajg' %}", success:function (res) { alert(res) } }) }), $('#h2').click(function () { var csrf = $('input[name="csrfmiddlewaretoken"]').val();#post请求 $.ajax({ url:"{% url 'index:ajp' %}", type:"post", data:{ name:"pfeiliu", age:18, csrfmiddlewaretoken: '{{ csrf_token }}' #csrfmiddlewaretoken:csrf }, success:function (res) { alert(res) } }) }) })</script>