我试图将CSRF令牌添加到请求标头,但它返回错误:
TypeError: Cannot read property 'value' of undefined
在我的django模板中,我添加了{%csrf_token%},我的函数如下:
addFavorites (id) {
return fetch(`/favorites`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRFToken': document.getElementsByName('csrfmiddlewaretoken')[0].value
},
...
我错过了什么?
当您单独运行document.getElementsByName('csrfmiddlewaretoken')
时,会得到什么?
问题是第一个索引中没有任何内容,或者它没有返回数组。因此它返回undefined
。由于undefined
没有value属性,这就是您得到的错误。