cristinafsanz
9/16/2019 - 2:04 PM

Get CSRF Token from cookie for AJAX calls against Django views

Get CSRF Token from cookie for AJAX calls against Django views

/**
 * Get Csrf token from document.cookie
 */
getCsrfToken () {
    if (!process.client) {
        return null
    }
    const regex = /csrftoken=(.[^;]*)/ig
    const match = regex.exec(document.cookie)
    return match[1]
}
function getCSRFToken() {
    let cookieValue = null

      if (document.cookie && document.cookie !== '') {
        const cookies = document.cookie.split(';')
        for (let i = 0; i < cookies.length; i += 1) {
          const cookie = cookies[i].trim()
          if (cookie.substring(0, name.length + 1) === (`${name}=`)) {
            cookieValue = decodeURIComponent(cookie.substring(name.length + 1))
            break
          }
        }
      }

      return cookieValue
}
/**
 * Configure CSRF tokens to be automatically taken in account
 */
export default function ({ $axios }) {
    $axios.onRequest((config) => {
        Object.assign(config, {
            xsrfCookieName: 'csrftoken',
            xsrfHeaderName: 'X-CSRFToken'
        })
    })
}