在設置cookie時遇到的一個坑:用的flask寫了一個web demo勾习,我在js代碼里設置了cookie矾瘾,用flask的方法獲取cookie女轿,由于js和flask設置cookie的默認path不一樣導致我獲取cookie失敗~
js設置cookie:
document.cookie = name+"="+"; path=/";
注意!K! 這里如果不指定path,則使用如下規(guī)則:
- 當cookie的path設置了值不為null的時候赏僧,以設置的值為準淀零。
- 當cookie的path為null時候,獲取請求的URI的path值
- 當URI的path值是以“/”結(jié)尾的時候驾中,直接設置為cookie的path值
- 當URI的path值不是以“/”結(jié)尾的時候肩民,查看path里面是否有“/”
如果有“/”的話,直接截取到最后一個“/”灶搜,然后設置為cookie的path值。
如果沒有“/”的話前酿,將cookie的path設置為”/”罢维。
我就是沒有指定path丙挽,所以默認給我設置到了另一個路徑下,導致獲取到了錯誤的數(shù)據(jù)取试!
flask設置cookie:
resp = make_response({"success": True, "msg": "Did logout!"})
resp.set_cookie("token", token, path='/')
return resp
注意!3跗拧磅叛!flask如果不指定path萨赁,那么它默認的就是’/‘ .
flask獲取cookie:
token = request.cookies.get('token')