Django

Django ajax post方式处理

2018-09-02  本文已影响6人  Python野路子

post方式不同于get方式可以被django直接得到,因为django为post加入了csrf保护,提交的时候会出现:


image.png

查看官网https://docs.djangoproject.com/zh-hans/2.0/ref/csrf/

image.png
在github下载对应js库或者引入
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>

然后再请求里面设置请求头:

        xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        var csrftoken = Cookies.get('csrftoken');
        xhr.setRequestHeader("X-CSRFToken", csrftoken);

还需要在引入js的页面任意位置加上{% csrf_token%}目的是设置产生一个csrftokey种下cookie,然后当你提交表单时会把本地cookie里的csrftokey值给提交服务器,服务器判断只有有效的csrftokey值才处理请求。

参考https://www.cnblogs.com/chenchao1990/p/5339779.html

上一篇下一篇

猜你喜欢

热点阅读