在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
。
答案 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。