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')
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。