Django需要csrftoken来进行CSRF的防御
既然是前后端都自己写,肯定不能整@csrf_exempt这样的办法
JS用正则表达式获取cookie
var regex = /.*csrftoken=([^;.]*).*$/ ;
var xCSRFToken = document.cookie.match(regex) === null ? null : document.cookie.match(regex)[1]
cookie的样式
Cookie: sessionid=tc3prqefkjt7f6xqmip1qskzyq0y0vwn; csrftoken=2IWCjzAvDpzk55NGRozbNqDulhg362n1UNIDOdtRMJsvFFW1bg3rLGZl39nDwlc2
在ajax里加入
headers: {
"X-CSRFToken":xCSRFToken
},
这样就把csrftoken加入到了headers里面
这个方法,其实是从postman里搞出来的.
在postman里加入csrftoken成功,仿照着postman的数据样式,成功拼接到了csrftoken.
这是一个以前同事教我的办法
今天百度百度,居然百度到了自己以前写过的教程,也是很神奇.
网上的jquery.cookie.js,我也下载了,下载了两个版本GitHub的,网站上的,导入后,一直报错,没有$.cookie的方法,实在没辙,只好写正则表达式了…