【问题标题】:is it possible to rewrite the value of stored cookie in javascript?是否可以在 javascript 中重写存储的 cookie 的值?
【发布时间】:2012-04-30 19:58:19
【问题描述】:

是否可以重写已存储 cookie 的值?如果是这样怎么做?

我的确切情况是,
我用一些 PATH(frm 用户,我可能不知道)创建了一个 cookie。我必须在其他地方重写这个 cookie 的值。我可以创建一个具有相同名称的 cookie,但这里的问题是我不知道 PATH 值。

  1. 要么我应该得到存储cookie的路径..
  2. 否则,我应该重写现有的 cookie

欢迎任何帮助 谢谢。

【问题讨论】:

    标签: javascript cookies


    【解决方案1】:

    来自DOC

    如果用户代理收到具有相同 cookie 名称的新 cookie, 域值和路径值作为它已经拥有的 cookie 存储,现有的 cookie 被驱逐并替换为新的 曲奇饼。请注意,服务器可以通过发送用户来删除 cookie 代理一个具有过去值的 Expires 属性的新 cookie。

    所以,@Royi Namir 发布的是解决方案。因为除了重新设置它之外,没有特定的方法可以重写 cookie。

    请参阅SO 中有关获取存储的 cookie 的路径信息的答案

    【讨论】:

    • 嗨。感谢您的回复.. 如果我不打算给出相同的路径.. 现有的 cookie 不会被覆盖吗?
    • 再次来自文档:If the server omits the Path attribute, the user agent will use the "directory" of the request-uri's path component as the default value。因此,如果您要删除的 cookie 采用与默认值相同的路径,您可能会有机会。
    【解决方案2】:

    你可以这样保存 cookie:

    function setCookie(name, value, expires) {  
    document.cookie = name + "=" + escape(value) + "; path=/" + ((expires == null) ? "" : "; expires=" + expires.toGMTString()); 
    

    【讨论】:

    • 嗨,谢谢.. 我必须重写现有的 cookie
    猜你喜欢
    • 2014-06-09
    • 2019-06-16
    • 2011-02-17
    • 2021-05-31
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多