js 和 flask设置cookie, 默认path

在设置cookie时遇到的一个坑:用的flask写了一个web demo,我在js代码里设置了cookie,用flask的方法获取cookie,由于js和flask设置cookie的默认path不一样导致我获取cookie失败~

js设置cookie:

document.cookie = name+"="+"; path=/";

注意!!! 这里如果不指定path,则使用如下规则:

  1. 当cookie的path设置了值不为null的时候,以设置的值为准。
    • 当cookie的path为null时候,获取请求的URI的path值
    • 当URI的path值是以“/”结尾的时候,直接设置为cookie的path值
    • 当URI的path值不是以“/”结尾的时候,查看path里面是否有“/”
      如果有“/”的话,直接截取到最后一个“/”,然后设置为cookie的path值。
      如果没有“/”的话,将cookie的path设置为”/”。

我就是没有指定path,所以默认给我设置到了另一个路径下,导致获取到了错误的数据!


flask设置cookie:

resp = make_response({"success": True, "msg": "Did logout!"})
resp.set_cookie("token", token, path='/')
return resp

注意!!!flask如果不指定path,那么它默认的就是’/‘ .

flask获取cookie:

token = request.cookies.get('token')

你可能感兴趣的:(js 和 flask设置cookie, 默认path)