post 403

前端psot返回403(CSRF Failed: CSRF token missing or incorrect)

情景:在Vue项目中用axios发送post请求返回标题所述的403
原因:这是OAuth 2.0中为了防止第三方网站攻击加上的字段,从document.cookie里面将对应字段取出加在request header里发出post即可
实现代码如下

1
2
3
4
5
6
7
var getCookie = (name) => {
let value = '; ' + document.cookie
let parts = value.split('; ' + name + '=')
if (parts.length === 2) return parts.pop().split(';').shift()
}
axios.post('/api/wxLogin/', params, {headers: {'X-CSRFToken': getCookie('csrftoken')}})
//差不多就这么写把后面的回调函数就不贴了