Django POST请求报错CSRF token missing or incorrect解决

在JS中,使用post方法提交数据到Django后台,如果页面没有做跨站伪造,则会被浏览器拒绝访问,报错如下:

Forbidden (CSRF token missing or incorrect.): /appblog/payment
[18/Jun/2020 08:52:08] "POST /appblog/payment HTTP/1.1" 403 2513

解决方法:前端ajax请求提交CSRF token信息

<!DOCTYPE html>
<html lang="zh">
{% csrf_token %}
<head>

...

<script>
    ...
    var csrfToken = $("[name='csrfmiddlewaretoken']").val();
    //方法一
    $.ajaxSetup({
        data: {csrfmiddlewaretoken: csrfToken}
    })
    $.ajax({
        url: '/payment',
        type: 'post',
        contentType: 'application/json;charset=utf-8',
        data: data,
        async: true,
        //方法二
        headers: {'X-CSRFToken': csrfToken},
        //方法三
        beforeSend: function(xhr, e) {
            xhr.setRequestHeader('X-CSRFToken', csrfToken)
        },

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/04/01/django-post-request-error-csrf-token-missing-or-incorrect-resolution/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Django POST请求报错CSRF token missing or incorrect解决
在JS中,使用post方法提交数据到Django后台,如果页面没有做跨站伪造,则会被浏览器拒绝访问,报错如下: Forbidden (CSRF token missing or incorrect.): /ap……
<<上一篇
下一篇>>
文章目录
关闭
目 录