Когда я публикую данные, я получаю следующее сообщение.
CSRF Failed: CSRF token missing or incorrect.
Однако я добавляю CSRF в заголовок топора ios, как показано ниже.
postArticle: function() {
this.loading = true;
csrftoken = Cookies.get('csrftoken');
headers = {'X-CSRF-Token': csrftoken};
axios.post('/api/articles/',this.newArticle, {headers: headers})
.then((response) => {
this.loading = false;
console.log(this.articles)
console.log("success")
this.getArticles();
})
.catch((err) => {
this.loading = false;
console.log("failed")
console.log(err);
})
},
Я включаю CSR, как показано ниже.
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
С другой стороны, я пробовал другой способ, как показано ниже.
В html <meta name="csrf-token" content="{{ csrf_token }}">
postArticle: function() {
this.loading = true;
axios.defaults.headers.common= {
'X-Requested-With': 'XMLHttpRequest',
'X-CSRF-TOKEN' : document.querySelector('meta[name="csrf-token"]').getAttribute('content')
};
axios.post('/api/articles/',this.newArticle)
.then((response) => {
this.loading = false;
console.log(this.articles)
console.log("success")
this.getArticles();
})
.catch((err) => {
this.loading = false;
console.log("failed")
console.log(err);
})
},
Впрочем, я тоже не могу. В чем проблема?