django-ajax post与get请求

客户端    访问  服务器  方式:
     地址栏          get
     a标签           get
     form表单     get/post
     ajax             get/post
 
 
ajax中默认请求是GET, 如果改成 POST ,会报 403 forbidden的错误,解决办法就是加上 csrf_token  ,具体就是将下面的注释打开就是
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/static/jquery-3.3.1.js"></script>

</head>
<body>
{#    {% csrf_token %}#}
    <button class="sendA">sendAjax</button>
    <script>
        {#var token=$("input[name=csrfmiddlewaretoken]").val();#}
        $(".sendA").click(function () {
            //发送ajax 默认get 注意 ajax里面是一个字典
            $.ajax(
                {
                    url:"/sendA/",
                    {#type:"POST",#}
                    data:{
                        {#csrfmiddlewaretoken:token#}
                    },
                    success:function (data) {
                        console.log(data);
                    }
                }
            )
        })
    </script>
</body>
</html>
 
 
 

方式1

1
2
3
$.ajaxSetup({
    data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
});

方式2

1
2
3
<form>
{% csrf_token %}
</form><br><br><br>$.ajax({<br>...<br>data:{
"csrfmiddlewaretoken":$("[name='csrfmiddlewaretoken']").val();
1 }<br>})

方式3:

1 <script src="{% static 'js/jquery.cookie.js' %}"></script>
1
2
3
4
5
$.ajax({
 
headers:{"X-CSRFToken":$.cookie('csrftoken')},
 
})
原文地址:https://www.cnblogs.com/yeteng/p/10499645.html