如何在Vue.js中获得`csrftoken`?

时间:2018-03-16 04:20:59

标签: vue.js js-cookie

在Vue.js项目中,我如何获得csrftoken

我尝试使用js-cookie,但无法获得它:

import Cookies from 'js-cookie';

if (Cookies.get('csrftoken')!==undefined) {   // there will skip, because the Cookies.get('csrftoken') is undefined.

  config.headers['x-csrftoken']= Cookies.get('csrftoken');  // 'CSRFToken '

}

但我可以获得其他cookie。

修改

Cookies.get('csrftoken')

此代码获取undefined

但是当我访问时,有csrftoken

enter image description here

2 个答案:

答案 0 :(得分:1)

.filter('commaSpace', [function () {
    return function (str) {
      return str.replace(',/g', ', ');
    };
  }])

从cookies获取csrf:

Vue.http.headers.common['X-CSRF-TOKEN'] = document.querySelector('#token').getAttribute('value');

答案 1 :(得分:1)

您是否曾尝试在服务器级别的DOM中打印它。从那里得到它。 Laravel就是一个很好的例子:

https://laravel.com/docs/5.6/csrf#csrf-x-xsrf-token

<meta name="csrf-token" content="{{ csrf_token() }}">

当然用您的服务器语言和CSRF令牌替换{{ csrf_token() }}

在你的JS中:

config.headers['x-csrftoken']=  $('meta[name="csrf-token"]').attr('content')

如果使用jQuery。