zoukankan      html  css  js  c++  java
  • vue 发送 post 请求到 django 返回403: CSRF Failed: CSRF token missing or incorrect

    问题描述

    前端 vue, 后端 django 。前端在发送post到后端时返回 403:CSRF Failed: CSRF token missing or incorrect

    原因

    django,会对合法的跨域访问做这样的检验,cookies里面存储的’csrftoken’,和post的header里面的字段”X-CSRFToken’作比较,只有两者匹配,才能通过跨域检验。否则会返回这个错误:CSRF Failed: CSRF token missing or incorrect

    解决方法

    在post 请求头中添加 X-CSRFToken ,这个值可以在 cookie 中获得
    如下:

    function getCookie (name) {
          var value = '; ' + document.cookie
          var parts = value.split('; ' + name + '=')
          if (parts.length === 2) return parts.pop().split(';').shift()
        }
    
    export const register = parmas => { return axios.post(`${host}/users/`, parmas,{headers:{'X-CSRFToken': getCookie("csrftoken")}}) }
    
  • 相关阅读:
    理解闭包
    .net 应用程序执行过程
    Lambda 表达式
    栈的应用
    C# string
    自包含 与 自描述
    C# 值类型 与 引用类型
    C# 装箱 与 拆箱
    sql server分页的两种方法比较
    九月天开博日志
  • 原文地址:https://www.cnblogs.com/pmsl/p/9627847.html
Copyright © 2011-2022 走看看