django js 处理POST请求时的csrf_token

   在使用ajax进行参数传递时,django会提示 Forbidden (csrf token missing or incorrect) 

   这是因为在我们提交的时候没有提交csrfmiddlewaretoken 参数。

   解决方式如下:

   在你的templates中放入

{% csrf_token %} 

  这是为了在前端生成存储csrfmiddlewaretoken的input标签,以至于我们在提交参数的时候,获取这里面的值就可以了!

  其标签样式如下:

  

<input type="hidden" name="csrfmiddlewaretoken" value="cSiDMAU6Rz8VrvadeLnGkoNhv2DeS9Aydd17oPdjeq9sDMrfag364tLkzP9pRSiK">

 所以在之后的ajax 提交的时候,把这里面的参数弄出来,加入data中就可以了,例如:

$.ajax({
            url:"path/",
            type:"POST",
            data:{"name": name, "csrfmiddlewaretoken": csrf_token}, //csrf_token是你自己需要获取的值(从刚才的那个hidden的input)
            success:function (args) {
            }
        });

参考文章:Ajax请求中提交csrfToken | django中csrf的其他使用 | Django

猜你喜欢

转载自blog.csdn.net/qq_41909967/article/details/85058703