vue post请求后台django接口Forbidden (CSRF token missing or incorrect.)
生活随笔
收集整理的這篇文章主要介紹了
vue post请求后台django接口Forbidden (CSRF token missing or incorrect.)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這是一個django的跨域訪問問題。
django,會對合法的跨域訪問做這樣的檢驗,cookies里面存儲的’csrftoken’,和post的header里面的字段”X-CSRFToken’作比較,只有兩者匹配,才能通過跨域檢驗。否則會返回這個錯誤:CSRF Failed: CSRF token missing or incorrect
解決方法:
由上面的分析可以得出,只要在POST請求的header添加一個字段’X-CSRFToken’,這個字段和cookie里面的‘csrftoken’一樣就好了。
在post請求添加一個header,內容如下:
{headers: {'X-CSRFToken': this.getCookie('csrftoken')}vue中解決方法:
安裝cookie插件:
npm install vue-cookies --save引入vue-cookies:
import VueCookies from 'vue-cookies' Vue.use(VueCookies)使用Axios發送請求:
this.axios.create({headers: {'X-CSRFToken': this.$cookies.get('csrftoken'),'Content-Type': 'application/x-www-form-urlencoded'},}).post('/test',this.testData).then(response => {console.log(response);}).catch(function (error) {console.log(error); });參考地址:https://blog.csdn.net/lohiaufung/article/details/80792334
總結
以上是生活随笔為你收集整理的vue post请求后台django接口Forbidden (CSRF token missing or incorrect.)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 匿名函数、普通函数、箭头函数作用域
- 下一篇: Vue route页面跳转,传递参数接收