12

もともとサーバー側で作成された JavaScript を使用して Cookie をクリアしたい。JavaScript を使用して Cookie を作成するたびに、ドメインの先頭にドットが表示されるため、サーバーの Cookie を上書きできません。

function clearCookie(name, domain, path){
    var domain = domain || document.domain;
    var path = path || "/";
    document.cookie = name + "=; expires=" + +new Date + "; domain=" + domain + "; path=" + path;
};

clearCookie('cookieTime');

これは私のクッキーの結果です:

name: cookieTime
domain: .www.currentdomain.com
path: /

これはサーバーからの Cookie です。

name: cookieTime
domain: www.currentdomain.com
path: /

先頭のドットなしで js クッキーを作成するにはどうすればよいですか?

4

1 に答える 1

11

ここでわかるように、ドメインをまったく設定しないだけで、先頭のドットを取り除くことができます。

また、独自の Cookie のみを更新できることを考慮してください。そのため、関数内のドメインを取り除き、サーバーによって設定された Cookie を次のように更新します。

function clearCookie(name, path){
    var path = path || "/";
    document.cookie = name + "=; expires=" + new Date() + "; path=" + path;
};

clearCookie('cookieTime');
于 2014-10-23T14:04:50.380 に答える